Whamcloud - gitweb
LU-10467 lustre: convert most users of LWI_TIMEOUT_INTERVAL()
[fs/lustre-release.git] / lustre / ptlrpc / errno.c
index 83aab13..a3d31a8 100644 (file)
  */
 
 #include <libcfs/libcfs.h>
-#include <lustre/lustre_errno.h>
+#include <lustre_errno.h>
 
 #ifdef LUSTRE_TRANSLATE_ERRNOS
+#include <lustre_dlm.h>
 
 /*
  * The two translation tables below must define a one-to-one mapping between
@@ -172,7 +173,6 @@ static int lustre_errno_hton_mapping[] = {
        [EKEYREJECTED]          = LUSTRE_EKEYREJECTED,
        [EOWNERDEAD]            = LUSTRE_EOWNERDEAD,
        [ENOTRECOVERABLE]       = LUSTRE_ENOTRECOVERABLE,
-#ifdef __KERNEL__
        [ERESTARTSYS]           = LUSTRE_ERESTARTSYS,
        [ERESTARTNOINTR]        = LUSTRE_ERESTARTNOINTR,
        [ERESTARTNOHAND]        = LUSTRE_ERESTARTNOHAND,
@@ -187,8 +187,19 @@ static int lustre_errno_hton_mapping[] = {
        [EBADTYPE]              = LUSTRE_EBADTYPE,
        [EJUKEBOX]              = LUSTRE_EJUKEBOX,
        [EIOCBQUEUED]           = LUSTRE_EIOCBQUEUED,
-       [EIOCBRETRY]            = LUSTRE_EIOCBRETRY
-#endif
+
+       /*
+        * The ELDLM errors are Lustre specific errors whose ranges
+        * lie in the middle of the above system errors. The ELDLM
+        * numbers must be preserved to avoid LU-9793.
+        */
+       [ELDLM_LOCK_CHANGED]    = ELDLM_LOCK_CHANGED,
+       [ELDLM_LOCK_ABORTED]    = ELDLM_LOCK_ABORTED,
+       [ELDLM_LOCK_REPLACED]   = ELDLM_LOCK_REPLACED,
+       [ELDLM_NO_LOCK_DATA]    = ELDLM_NO_LOCK_DATA,
+       [ELDLM_LOCK_WOULDBLOCK] = ELDLM_LOCK_WOULDBLOCK,
+       [ELDLM_NAMESPACE_EXISTS]= ELDLM_NAMESPACE_EXISTS,
+       [ELDLM_BAD_NAMESPACE]   = ELDLM_BAD_NAMESPACE
 };
 
 static int lustre_errno_ntoh_mapping[] = {
@@ -321,7 +332,6 @@ static int lustre_errno_ntoh_mapping[] = {
        [LUSTRE_EKEYREJECTED]           = EKEYREJECTED,
        [LUSTRE_EOWNERDEAD]             = EOWNERDEAD,
        [LUSTRE_ENOTRECOVERABLE]        = ENOTRECOVERABLE,
-#ifdef __KERNEL__
        [LUSTRE_ERESTARTSYS]            = ERESTARTSYS,
        [LUSTRE_ERESTARTNOINTR]         = ERESTARTNOINTR,
        [LUSTRE_ERESTARTNOHAND]         = ERESTARTNOHAND,
@@ -336,8 +346,19 @@ static int lustre_errno_ntoh_mapping[] = {
        [LUSTRE_EBADTYPE]               = EBADTYPE,
        [LUSTRE_EJUKEBOX]               = EJUKEBOX,
        [LUSTRE_EIOCBQUEUED]            = EIOCBQUEUED,
-       [LUSTRE_EIOCBRETRY]             = EIOCBRETRY
-#endif
+
+       /*
+        * The ELDLM errors are Lustre specific errors whose ranges
+        * lie in the middle of the above system errors. The ELDLM
+        * numbers must be preserved to avoid LU-9793.
+        */
+       [ELDLM_LOCK_CHANGED]            = ELDLM_LOCK_CHANGED,
+       [ELDLM_LOCK_ABORTED]            = ELDLM_LOCK_ABORTED,
+       [ELDLM_LOCK_REPLACED]           = ELDLM_LOCK_REPLACED,
+       [ELDLM_NO_LOCK_DATA]            = ELDLM_NO_LOCK_DATA,
+       [ELDLM_LOCK_WOULDBLOCK]         = ELDLM_LOCK_WOULDBLOCK,
+       [ELDLM_NAMESPACE_EXISTS]        = ELDLM_NAMESPACE_EXISTS,
+       [ELDLM_BAD_NAMESPACE]           = ELDLM_BAD_NAMESPACE
 };
 
 unsigned int lustre_errno_hton(unsigned int h)