Whamcloud - gitweb
LU-12674 osp: handle -EINPROGRESS on llog objects
[fs/lustre-release.git] / lustre / include / obd_support.h
index 265a3b8..6b73b9a 100644 (file)
@@ -53,6 +53,7 @@ enum {
 extern unsigned int obd_debug_peer_on_timeout;
 extern unsigned int obd_dump_on_timeout;
 extern unsigned int obd_dump_on_eviction;
+extern unsigned int obd_lbug_on_eviction;
 /* obd_timeout should only be used for recovery, not for
    networking / disk / timings affected by load (use Adaptive Timeouts) */
 extern unsigned int obd_timeout;          /* seconds */
@@ -249,6 +250,8 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_MDS_TRACK_OVERFLOW     0x162
 #define OBD_FAIL_MDS_LOV_CREATE_RACE    0x163
 #define OBD_FAIL_MDS_HSM_CDT_DELAY      0x164
+#define OBD_FAIL_MDS_ORPHAN_DELETE      0x165
+#define OBD_FAIL_MDS_RMFID_NET          0x166
 
 /* layout lock */
 #define OBD_FAIL_MDS_NO_LL_GETATTR      0x170
@@ -264,6 +267,8 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_MDS_RECOVERY_ACCEPTS_GAPS 0x185
 #define OBD_FAIL_MDS_GET_INFO_NET        0x186
 #define OBD_FAIL_MDS_DQACQ_NET           0x187
+#define OBD_FAIL_MDS_STRIPE_CREATE      0x188
+#define OBD_FAIL_MDS_STRIPE_FID                 0x189
 
 /* OI scrub */
 #define OBD_FAIL_OSD_SCRUB_DELAY                       0x190
@@ -277,6 +282,10 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_OSD_NO_OI_ENTRY                       0x198
 #define OBD_FAIL_OSD_INDEX_CRASH                       0x199
 
+#define OBD_FAIL_OSD_TXN_START                         0x19a
+
+#define OBD_FAIL_OSD_DUPLICATE_MAP                     0x19b
+
 #define OBD_FAIL_OFD_SET_OID                           0x1e0
 
 #define OBD_FAIL_OST                     0x200
@@ -335,6 +344,10 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_OST_SKIP_LV_CHECK      0x241
 #define OBD_FAIL_OST_STATFS_DELAY       0x242
 #define OBD_FAIL_OST_INTEGRITY_FAULT    0x243
+#define OBD_FAIL_OST_INTEGRITY_CMP      0x244
+#define OBD_FAIL_OST_DISCONNECT_DELAY   0x245
+#define OBD_FAIL_OST_DELAY_TRANS        0x246
+#define OBD_FAIL_OST_PREPARE_DELAY      0x247
 
 #define OBD_FAIL_LDLM                    0x300
 #define OBD_FAIL_LDLM_NAMESPACE_NEW      0x301
@@ -380,6 +393,7 @@ extern char obd_jobid_var[];
 
 #define OBD_FAIL_LDLM_GRANT_CHECK        0x32a
 #define OBD_FAIL_LDLM_PROLONG_PAUSE     0x32b
+#define OBD_FAIL_LDLM_LOCAL_CANCEL_PAUSE 0x32c
 
 /* LOCKLESS IO */
 #define OBD_FAIL_LDLM_SET_CONTENTION     0x385
@@ -433,6 +447,8 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_PTLRPC_LONG_BOTH_UNLINK 0x51c
 #define OBD_FAIL_PTLRPC_CLIENT_BULK_CB3  0x520
 #define OBD_FAIL_PTLRPC_BULK_ATTACH      0x521
+#define OBD_FAIL_PTLRPC_ROUND_XID       0x530
+#define OBD_FAIL_PTLRPC_CONNECT_RACE    0x531
 
 #define OBD_FAIL_OBD_PING_NET            0x600
 /*     OBD_FAIL_OBD_LOG_CANCEL_NET      0x601 obsolete since 1.5 */
@@ -445,6 +461,8 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_OBD_IDX_READ_BREAK     0x608
 #define OBD_FAIL_OBD_NO_LRU             0x609
 #define OBD_FAIL_OBDCLASS_MODULE_LOAD   0x60a
+#define OBD_FAIL_OBD_ZERO_NLINK_RACE    0x60b
+#define OBD_FAIL_OBD_STOP_MDS_RACE      0x60c
 
 #define OBD_FAIL_TGT_REPLY_NET           0x700
 #define OBD_FAIL_TGT_CONN_RACE           0x701
@@ -474,10 +492,11 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_MDC_ENQUEUE_PAUSE       0x801
 #define OBD_FAIL_MDC_OLD_EXT_FLAGS       0x802
 #define OBD_FAIL_MDC_GETATTR_ENQUEUE     0x803
-#define OBD_FAIL_MDC_RPCS_SEM           0x804
+#define OBD_FAIL_MDC_RPCS_SEM           0x804 /* deprecated */
 #define OBD_FAIL_MDC_LIGHTWEIGHT        0x805
 #define OBD_FAIL_MDC_CLOSE              0x806
 #define OBD_FAIL_MDC_MERGE              0x807
+#define OBD_FAIL_MDC_GLIMPSE_DDOS       0x808
 
 #define OBD_FAIL_MGS                     0x900
 #define OBD_FAIL_MGS_ALL_REQUEST_NET     0x901
@@ -499,6 +518,7 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_QUOTA_EDQUOT            0xA02
 #define OBD_FAIL_QUOTA_DELAY_REINT       0xA03
 #define OBD_FAIL_QUOTA_RECOVERABLE_ERR   0xA04
+#define OBD_FAIL_QUOTA_INIT              0xA05
 
 #define OBD_FAIL_LPROC_REMOVE            0xB00
 
@@ -509,6 +529,7 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_FLD                     0x1100
 #define OBD_FAIL_FLD_QUERY_NET           0x1101
 #define OBD_FAIL_FLD_READ_NET           0x1102
+#define OBD_FAIL_FLD_QUERY_REQ          0x1103
 
 #define OBD_FAIL_SEC_CTX                 0x1200
 #define OBD_FAIL_SEC_CTX_INIT_NET        0x1201
@@ -533,6 +554,8 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_TIME_IN_CHLOG_USER                0x1314
 #define CFS_FAIL_CHLOG_USER_REG_UNREG_RACE         0x1315
 #define OBD_FAIL_FORCE_GC_THREAD                   0x1316
+#define OBD_FAIL_LLOG_PROCESS_TIMEOUT              0x1317
+#define OBD_FAIL_LLOG_PURGE_DELAY                  0x1318
 
 #define OBD_FAIL_LLITE                              0x1400
 #define OBD_FAIL_LLITE_FAULT_TRUNC_RACE             0x1401
@@ -548,9 +571,13 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_LLITE_NEWNODE_PAUSE               0x140a
 #define OBD_FAIL_LLITE_SETDIRSTRIPE_PAUSE          0x140b
 #define OBD_FAIL_LLITE_CREATE_NODE_PAUSE           0x140c
-#define OBD_FAIL_LLITE_PTASK_IO_FAIL               0x140d
 #define OBD_FAIL_LLITE_IMUTEX_SEC                  0x140e
 #define OBD_FAIL_LLITE_IMUTEX_NOSEC                0x140f
+#define OBD_FAIL_LLITE_OPEN_BY_NAME                0x1410
+#define OBD_FAIL_LLITE_PCC_FAKE_ERROR              0x1411
+#define OBD_FAIL_LLITE_PCC_DETACH_MKWRITE          0x1412
+#define OBD_FAIL_LLITE_PCC_MKWRITE_PAUSE           0x1413
+#define OBD_FAIL_LLITE_PCC_ATTACH_PAUSE                    0x1414
 
 #define OBD_FAIL_FID_INDIR     0x1501
 #define OBD_FAIL_FID_INLMA     0x1502
@@ -659,6 +686,8 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_OSP_CHECK_INVALID_REC         0x2100
 #define OBD_FAIL_OSP_CHECK_ENOMEM              0x2101
 #define OBD_FAIL_OSP_FAKE_PRECREATE            0x2102
+#define OBD_FAIL_OSP_RPCS_SEM                  0x2104
+#define OBD_FAIL_OSP_CANT_PROCESS_LLOG         0x2105
 
  /* barrier */
 #define OBD_FAIL_MGS_BARRIER_READ_NET          0x2200
@@ -669,6 +698,7 @@ extern char obd_jobid_var[];
 
 #define OBD_FAIL_OSD_FAIL_AT_TRUNCATE          0x2301
 
+/* LNet is allocated failure locations 0xe000 to 0xffff */
 /* Assign references to moved code to reduce code changes */
 #define OBD_FAIL_PRECHECK(id)                   CFS_FAIL_PRECHECK(id)
 #define OBD_FAIL_CHECK(id)                      CFS_FAIL_CHECK(id)
@@ -750,11 +780,13 @@ static inline void obd_memory_sub(long size)
 
 #define __OBD_MALLOC_VERBOSE(ptr, cptab, cpt, size, flags)                   \
 do {                                                                         \
-       (ptr) = (cptab) == NULL ?                                             \
-               kmalloc(size, (flags) | __GFP_ZERO) :                         \
-               cfs_cpt_malloc(cptab, cpt, size, (flags) | __GFP_ZERO);       \
-       if (likely((ptr) != NULL))                                            \
-               OBD_ALLOC_POST(ptr, size, "kmalloced");                       \
+       if (cptab)                                                            \
+               ptr = cfs_cpt_malloc((cptab), (cpt), (size),                  \
+                                    (flags) | __GFP_ZERO | __GFP_NOWARN);    \
+       if (!(cptab) || unlikely(!(ptr))) /* retry without CPT if failure */  \
+               ptr = kmalloc(size, (flags) | __GFP_ZERO);                    \
+       if (likely((ptr) != NULL))                                            \
+               OBD_ALLOC_POST((ptr), (size), "kmalloced");                   \
 } while (0)
 
 #define OBD_ALLOC_GFP(ptr, size, gfp_mask)                                   \
@@ -931,4 +963,10 @@ static inline int lustre_to_lma_flags(__u32 la_flags)
        return (la_flags & LUSTRE_ORPHAN_FL) ? LMAI_ORPHAN : 0;
 }
 
+struct obd_heat_instance {
+       __u64 ohi_heat;
+       __u64 ohi_time_second;
+       __u64 ohi_count;
+};
+
 #endif