Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / src / common / aix_errno.cc
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3 /*
4  * Ceph - scalable distributed file system
5  *
6  * Copyright (C) 2011 New Dream Network
7  *
8  * This is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License version 2.1, as published by the Free Software
11  * Foundation.  See file COPYING.
12  *
13  */
14
15 #include <errno.h>
16 #include "include/types.h"
17
18
19 // converts from linux errno values to host values
20 __s32 ceph_to_hostos_errno(__s32 r) 
21 {
22   if (r < -34) {
23     switch (r) {
24       case -35:
25         return -EDEADLK;
26       case -36:
27         return -ENAMETOOLONG;
28       case -37:
29         return -ENOLCK;
30       case -38:
31         return -ENOSYS;
32       case -39:
33         return -ENOTEMPTY;
34       case -40:
35         return -ELOOP;
36       case -42:
37         return -ENOMSG;
38       case -43:
39         return -EIDRM;
40       case -44:
41         return -ECHRNG;
42       case -45:
43         return -EL2NSYNC;
44       case -46:
45         return -EL3HLT;
46       case -47:
47         return -EL3RST;
48       case -48:
49         return -ELNRNG;
50       case -49:
51         return -EUNATCH;
52       case -51:
53         return -EL2HLT;
54       case -52:
55         return -EPERM; //TODO EBADE
56       case -53:
57         return -EPERM; //TODO EBADR
58       case -54:
59         return -EPERM; //TODO EXFULL
60       case -55:
61         return -EPERM; //TODO ENOANO
62       case -56:
63         return -EPERM; //TODO EBADRQC
64       case -57:
65         return -EPERM; //TODO EBADSLT
66       case -59:
67         return -EPERM; //TODO EBFONT
68       case -60:
69         return -ENOSTR;
70       case -61:
71         return -ENODATA;
72       case -62:
73         return -ETIME;
74       case -63:
75         return -ENOSR;
76       case -64:
77         return -EPERM; //TODO ENONET
78       case -65:
79         return -EPERM; //TODO ENOPKG
80       case -66:
81         return -EREMOTE;
82       case -67:
83         return -ENOLINK;
84       case -68:
85         return -EPERM; //TODO EADV 
86       case -69:
87         return -EPERM; //TODO ESRMNT 
88       case -70:
89         return -EPERM; //TODO ECOMM
90       case -71:
91         return -EPROTO;
92       case -72:
93         return -EMULTIHOP;
94       case -73:
95         return -EPERM; //TODO EDOTDOT 
96       case -74:
97         return -EBADMSG;
98       case -75:
99         return -EOVERFLOW;
100       case -76:
101         return -EPERM; //TODO ENOTUNIQ
102       case -77:
103         return -EPERM; //TODO EBADFD
104       case -78:
105         return -EPERM; //TODO EREMCHG
106       case -79:
107         return -EPERM; //TODO ELIBACC
108       case -80:
109         return -EPERM; //TODO ELIBBAD 
110       case -81:
111         return -EPERM; //TODO ELIBSCN
112       case -82:
113         return -EPERM; //TODO ELIBMAX
114       case -83:
115         return -EPERM; // TODO ELIBEXEC
116       case -84:
117         return -EILSEQ;
118       case -85:
119         return -ERESTART;
120       case -86:
121         return -EPERM; //ESTRPIPE; 
122       case -87:
123         return -EUSERS;
124       case -88:
125         return -ENOTSOCK;
126       case -89:
127         return -EDESTADDRREQ;
128       case -90:
129         return -EMSGSIZE;
130       case -91:
131         return -EPROTOTYPE;
132       case -92:
133         return -ENOPROTOOPT;
134       case -93:
135         return -EPROTONOSUPPORT;
136       case -94:
137         return -ESOCKTNOSUPPORT;
138       case -95:
139         return -EOPNOTSUPP;
140       case -96:
141         return -EPFNOSUPPORT;
142       case -97:
143         return -EAFNOSUPPORT;
144       case -98:
145         return -EADDRINUSE;
146       case -99:
147         return -EADDRNOTAVAIL;
148       case -100:
149         return -ENETDOWN;
150       case -101:
151         return -ENETUNREACH;
152       case -102:
153         return -ENETRESET;
154       case -103:
155         return -ECONNABORTED;
156       case -104:
157         return -ECONNRESET;
158       case -105:
159         return -ENOBUFS;
160       case -106:
161         return -EISCONN;
162       case -107:
163         return -ENOTCONN;
164       case -108:
165         return -ESHUTDOWN;
166       case -109:
167         return -ETOOMANYREFS;
168       case -110:
169         return -ETIMEDOUT;
170       case -111:
171         return -ECONNREFUSED;
172       case -112:
173         return -EHOSTDOWN;
174       case -113:
175         return -EHOSTUNREACH;
176       case -114:
177         return -EALREADY;
178       case -115:
179         return -EINPROGRESS;
180       case -116:
181         return -ESTALE;
182       case -117:
183         return -EPERM; //TODO EUCLEAN 
184       case -118:
185         return -EPERM; //TODO ENOTNAM
186       case -119:
187         return -EPERM; //TODO ENAVAIL
188       case -120:
189         return -EPERM; //TODO EISNAM
190       case -121:
191         return -EPERM; //TODO EREMOTEIO
192       case -122:
193         return -EDQUOT;
194       case -123:
195         return -EPERM; //TODO ENOMEDIUM
196       case -124:
197         return -EPERM; //TODO EMEDIUMTYPE - not used
198       case -125:
199         return -ECANCELED;
200       case -126:
201         return -EPERM; //TODO ENOKEY
202       case -127:
203         return -EPERM; //TODO EKEYEXPIRED
204       case -128:
205         return -EPERM; //TODO EKEYREVOKED
206       case -129:
207         return -EPERM; //TODO EKEYREJECTED
208       case -130:
209         return -EOWNERDEAD;
210       case -131:
211         return -ENOTRECOVERABLE;
212       case -132:
213         return -EPERM; //TODO ERFKILL
214       case -133:
215         return -EPERM; //TODO EHWPOISON
216
217       default: { 
218         break;
219       }
220     }
221   } 
222   return r; // otherwise return original value
223 }
224
225 // converts Host OS errno values to linux/Ceph values
226 // XXX Currently not worked out
227 __s32 hostos_to_ceph_errno(__s32 r)
228 {
229   return r;
230 }
231