Whamcloud - gitweb
LU-8130 lov: convert lo[v|d]_pool to use rhashtable
[fs/lustre-release.git] / lustre / include / obd_support.h
index 4cc253d..3e2d73c 100644 (file)
@@ -68,16 +68,9 @@ extern int at_early_margin;
 extern int at_extra;
 extern unsigned long obd_max_dirty_pages;
 extern atomic_long_t obd_dirty_pages;
-extern atomic_long_t obd_dirty_transit_pages;
 extern char obd_jobid_var[];
 
 /* Some hash init argument constants */
-#define HASH_POOLS_BKT_BITS 3
-#define HASH_POOLS_CUR_BITS 3
-#define HASH_POOLS_MAX_BITS 7
-#define HASH_UUID_BKT_BITS 5
-#define HASH_UUID_CUR_BITS 7
-#define HASH_UUID_MAX_BITS 12
 #define HASH_NID_BKT_BITS 5
 #define HASH_NID_CUR_BITS 7
 #define HASH_NID_MAX_BITS 12
@@ -96,8 +89,6 @@ extern char obd_jobid_var[];
 #define HASH_EXP_LOCK_BKT_BITS  5
 #define HASH_EXP_LOCK_CUR_BITS  7
 #define HASH_EXP_LOCK_MAX_BITS  16
-#define HASH_CL_ENV_BKT_BITS    5
-#define HASH_CL_ENV_BITS        10
 #define HASH_JOB_STATS_BKT_BITS 5
 #define HASH_JOB_STATS_CUR_BITS 7
 #define HASH_JOB_STATS_MAX_BITS 12
@@ -245,12 +236,14 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_MDS_REINT_MULTI_NET_REP 0x15a
 #define OBD_FAIL_MDS_LLOG_CREATE_FAILED2 0x15b
 #define OBD_FAIL_MDS_FLD_LOOKUP                        0x15c
+#define OBD_FAIL_MDS_CHANGELOG_REORDER 0x15d
 #define OBD_FAIL_MDS_INTENT_DELAY              0x160
 #define OBD_FAIL_MDS_XATTR_REP                 0x161
 #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
@@ -266,6 +259,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
@@ -281,6 +276,8 @@ extern char obd_jobid_var[];
 
 #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
@@ -329,7 +326,7 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_OST_STATFS_EINPROGRESS  0x231
 #define OBD_FAIL_OST_SET_INFO_NET        0x232
 #define OBD_FAIL_OST_NODESTROY          0x233
-#define OBD_FAIL_OST_READ_SIZE          0x234
+/*     OBD_FAIL_OST_READ_SIZE           0x234 obsolete since 2.14 */
 #define OBD_FAIL_OST_LADVISE_NET        0x235
 #define OBD_FAIL_OST_PAUSE_PUNCH         0x236
 #define OBD_FAIL_OST_LADVISE_PAUSE      0x237
@@ -340,6 +337,10 @@ extern char obd_jobid_var[];
 #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_OST_2BIG_NIOBUF        0x248
 
 #define OBD_FAIL_LDLM                    0x300
 #define OBD_FAIL_LDLM_NAMESPACE_NEW      0x301
@@ -382,9 +383,11 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_LDLM_SRV_GL_AST        0x326
 #define OBD_FAIL_LDLM_WATERMARK_LOW     0x327
 #define OBD_FAIL_LDLM_WATERMARK_HIGH    0x328
+#define OBD_FAIL_LDLM_PAUSE_CANCEL_LOCAL 0x329
 
 #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
@@ -410,6 +413,8 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_OSC_DELAY_SETTIME      0x412
 #define OBD_FAIL_OSC_CONNECT_GRANT_PARAM 0x413
 #define OBD_FAIL_OSC_DELAY_IO            0x414
+#define OBD_FAIL_OSC_NO_SIZE_DATA        0x415
+#define OBD_FAIL_OSC_DELAY_CANCEL        0x416
 
 #define OBD_FAIL_PTLRPC                  0x500
 #define OBD_FAIL_PTLRPC_ACK              0x501
@@ -438,6 +443,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_RESEND_RACE     0x525
+#define OBD_FAIL_PTLRPC_ROUND_XID       0x530
 #define OBD_FAIL_PTLRPC_CONNECT_RACE    0x531
 
 #define OBD_FAIL_OBD_PING_NET            0x600
@@ -451,6 +458,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
@@ -475,6 +484,7 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_TGT_RCVD_EIO           0x720
 #define OBD_FAIL_TGT_RECOVERY_REQ_RACE  0x721
 #define OBD_FAIL_TGT_REPLY_DATA_RACE    0x722
+#define OBD_FAIL_TGT_RECOVERY_CONNECT    0x724
 
 #define OBD_FAIL_MDC_REVALIDATE_PAUSE    0x800
 #define OBD_FAIL_MDC_ENQUEUE_PAUSE       0x801
@@ -484,6 +494,7 @@ extern char obd_jobid_var[];
 #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
@@ -505,6 +516,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
 
@@ -515,6 +527,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
@@ -540,6 +553,9 @@ extern char obd_jobid_var[];
 #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_PLAIN_RECORDS                     0x1319
+#define OBD_FAIL_CATALOG_FULL_CHECK                0x131a
 
 #define OBD_FAIL_LLITE                              0x1400
 #define OBD_FAIL_LLITE_FAULT_TRUNC_RACE             0x1401
@@ -557,6 +573,11 @@ extern char obd_jobid_var[];
 #define OBD_FAIL_LLITE_CREATE_NODE_PAUSE           0x140c
 #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
@@ -666,8 +687,10 @@ extern char obd_jobid_var[];
 #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
+#define OBD_FAIL_OSP_INVALID_LOGID             0x2106
 
- /* barrier */
+/* barrier */
 #define OBD_FAIL_MGS_BARRIER_READ_NET          0x2200
 #define OBD_FAIL_MGS_BARRIER_NOTIFY_NET                0x2201
 
@@ -746,8 +769,7 @@ static inline void obd_memory_sub(long size)
         LASSERT(ptr);                                                   \
         obd_memory_sub(size);                                           \
         CDEBUG(D_MALLOC, name " '" #ptr "': %d at %p.\n",               \
-               (int)(size), ptr);                                       \
-        POISON(ptr, 0x5a, size)
+              (int)(size), ptr);
 
 #else /* !OBD_DEBUG_MEMUSAGE */
 
@@ -845,6 +867,7 @@ do {                                                                              \
 #define OBD_FREE(ptr, size)                                                  \
 do {                                                                         \
        OBD_FREE_PRE(ptr, size, "kfreed");                                    \
+       POISON(ptr, 0x5a, size);                                              \
        kfree(ptr);                                                           \
        POISON_PTR(ptr);                                                      \
 } while (0)
@@ -853,6 +876,7 @@ do {                                                                              \
 do {                                                                         \
        if (is_vmalloc_addr(ptr)) {                                           \
                OBD_FREE_PRE(ptr, size, "vfreed");                            \
+               POISON(ptr, 0x5a, size);                                      \
                vfree(ptr);                                                   \
                POISON_PTR(ptr);                                              \
        } else {                                                              \
@@ -860,17 +884,6 @@ do {                                                                             \
        }                                                                     \
 } while (0)
 
-#define OBD_FREE_RCU(ptr, size, handle)                                              \
-do {                                                                         \
-       struct portals_handle *__h = (handle);                                \
-                                                                             \
-       LASSERT(handle != NULL);                                              \
-       __h->h_cookie = (unsigned long)(ptr);                                 \
-       __h->h_size = (size);                                                 \
-       call_rcu(&__h->h_rcu, class_handle_free_cb);                          \
-       POISON_PTR(ptr);                                                      \
-} while(0)
-
 /* we memset() the slab object to 0 when allocation succeeds, so DO NOT
  * HAVE A CTOR THAT DOES ANYTHING.  its work will be cleared here.  we'd
  * love to assert on that, but slab.c keeps kmem_cache_s all to itself. */
@@ -901,6 +914,7 @@ do {                                                                              \
 #define OBD_SLAB_FREE(ptr, slab, size)                                        \
 do {                                                                          \
         OBD_FREE_PRE(ptr, size, "slab-freed");                                \
+       POISON(ptr, 0x5a, size);                                              \
        kmem_cache_free(slab, ptr);                                        \
         POISON_PTR(ptr);                                                      \
 } while(0)
@@ -941,4 +955,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