Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
misc.c
Go to the documentation of this file.
1 /* miscellaneous bits
2  *
3  * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved.
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>
15 #include <rxrpc/packet.h>
16 #include "internal.h"
17 #include "afs_fs.h"
18 
19 /*
20  * convert an AFS abort code to a Linux error number
21  */
22 int afs_abort_to_error(u32 abort_code)
23 {
24  switch (abort_code) {
25  case 13: return -EACCES;
26  case 27: return -EFBIG;
27  case 30: return -EROFS;
28  case VSALVAGE: return -EIO;
29  case VNOVNODE: return -ENOENT;
30  case VNOVOL: return -ENOMEDIUM;
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;
39  case 0x2f6df0a: return -EWOULDBLOCK;
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;
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 
73  default: return -EREMOTEIO;
74  }
75 }