]>
Commit | Line | Data |
---|---|---|
ec26815a | 1 | /* miscellaneous bits |
1da177e4 | 2 | * |
08e0e7c8 | 3 | * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. |
1da177e4 LT |
4 | * Written by David Howells ([email protected]) |
5 | * | |
6 | * This program is free software; you can redistribute it and/or | |
7 | * modify it under the terms of the GNU General Public License | |
8 | * as published by the Free Software Foundation; either version | |
9 | * 2 of the License, or (at your option) any later version. | |
10 | */ | |
11 | ||
12 | #include <linux/kernel.h> | |
13 | #include <linux/module.h> | |
14 | #include <linux/errno.h> | |
005411c3 | 15 | #include <rxrpc/packet.h> |
1da177e4 | 16 | #include "internal.h" |
08e0e7c8 | 17 | #include "afs_fs.h" |
1da177e4 | 18 | |
1da177e4 LT |
19 | /* |
20 | * convert an AFS abort code to a Linux error number | |
21 | */ | |
08e0e7c8 | 22 | int afs_abort_to_error(u32 abort_code) |
1da177e4 | 23 | { |
08e0e7c8 DH |
24 | switch (abort_code) { |
25 | case 13: return -EACCES; | |
416351f2 | 26 | case 27: return -EFBIG; |
260a9803 | 27 | case 30: return -EROFS; |
1da177e4 LT |
28 | case VSALVAGE: return -EIO; |
29 | case VNOVNODE: return -ENOENT; | |
08e0e7c8 | 30 | case VNOVOL: return -ENOMEDIUM; |
1da177e4 LT |
31 | case VVOLEXISTS: return -EEXIST; |
32 | case VNOSERVICE: return -EIO; | |
33 | case VOFFLINE: return -ENOENT; | |
34 | case VONLINE: return -EEXIST; | |
35 | case VDISKFULL: return -ENOSPC; | |
36 | case VOVERQUOTA: return -EDQUOT; | |
37 | case VBUSY: return -EBUSY; | |
38 | case VMOVED: return -ENXIO; | |
e8d6c554 | 39 | case 0x2f6df0a: return -EWOULDBLOCK; |
260a9803 DH |
40 | case 0x2f6df0c: return -EACCES; |
41 | case 0x2f6df0f: return -EBUSY; | |
42 | case 0x2f6df10: return -EEXIST; | |
43 | case 0x2f6df11: return -EXDEV; | |
44 | case 0x2f6df13: return -ENOTDIR; | |
45 | case 0x2f6df14: return -EISDIR; | |
46 | case 0x2f6df15: return -EINVAL; | |
47 | case 0x2f6df1a: return -EFBIG; | |
48 | case 0x2f6df1b: return -ENOSPC; | |
49 | case 0x2f6df1d: return -EROFS; | |
50 | case 0x2f6df1e: return -EMLINK; | |
51 | case 0x2f6df20: return -EDOM; | |
52 | case 0x2f6df21: return -ERANGE; | |
53 | case 0x2f6df22: return -EDEADLK; | |
54 | case 0x2f6df23: return -ENAMETOOLONG; | |
55 | case 0x2f6df24: return -ENOLCK; | |
56 | case 0x2f6df26: return -ENOTEMPTY; | |
57 | case 0x2f6df78: return -EDQUOT; | |
005411c3 DH |
58 | |
59 | case RXKADINCONSISTENCY: return -EPROTO; | |
60 | case RXKADPACKETSHORT: return -EPROTO; | |
61 | case RXKADLEVELFAIL: return -EKEYREJECTED; | |
62 | case RXKADTICKETLEN: return -EKEYREJECTED; | |
63 | case RXKADOUTOFSEQUENCE: return -EPROTO; | |
64 | case RXKADNOAUTH: return -EKEYREJECTED; | |
65 | case RXKADBADKEY: return -EKEYREJECTED; | |
66 | case RXKADBADTICKET: return -EKEYREJECTED; | |
67 | case RXKADUNKNOWNKEY: return -EKEYREJECTED; | |
68 | case RXKADEXPIRED: return -EKEYEXPIRED; | |
69 | case RXKADSEALEDINCON: return -EKEYREJECTED; | |
70 | case RXKADDATALEN: return -EKEYREJECTED; | |
71 | case RXKADILLEGALLEVEL: return -EKEYREJECTED; | |
72 | ||
260a9803 | 73 | default: return -EREMOTEIO; |
1da177e4 | 74 | } |
ec26815a | 75 | } |