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
#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
#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
#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
#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
#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
#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_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
#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_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
#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
#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
#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
#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
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 */
#define OBD_FREE(ptr, size) \
do { \
OBD_FREE_PRE(ptr, size, "kfreed"); \
+ POISON(ptr, 0x5a, size); \
kfree(ptr); \
POISON_PTR(ptr); \
} while (0)
do { \
if (is_vmalloc_addr(ptr)) { \
OBD_FREE_PRE(ptr, size, "vfreed"); \
+ POISON(ptr, 0x5a, size); \
vfree(ptr); \
POISON_PTR(ptr); \
} else { \
} \
} 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. */
#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)