#define OBD_FAIL_MDS_CONNECT_PACK 0x118
#define OBD_FAIL_MDS_REINT_NET_REP 0x119
#define OBD_FAIL_MDS_DISCONNECT_NET 0x11a
-#define OBD_FAIL_MDS_GETSTATUS_NET 0x11b
-#define OBD_FAIL_MDS_GETSTATUS_PACK 0x11c
+#define OBD_FAIL_MDS_GET_ROOT_NET 0x11b
+#define OBD_FAIL_MDS_GET_ROOT_PACK 0x11c
#define OBD_FAIL_MDS_STATFS_PACK 0x11d
#define OBD_FAIL_MDS_STATFS_NET 0x11e
#define OBD_FAIL_MDS_GETATTR_NAME_NET 0x11f
#define OBD_FAIL_MDS_LLOG_CREATE_FAILED2 0x15b
#define OBD_FAIL_MDS_FLD_LOOKUP 0x15c
#define OBD_FAIL_MDS_INTENT_DELAY 0x160
+#define OBD_FAIL_MDS_TRACK_OVERFLOW 0x162
/* layout lock */
#define OBD_FAIL_MDS_NO_LL_GETATTR 0x170
#define OBD_FAIL_OST_SET_INFO_NET 0x232
#define OBD_FAIL_OST_NODESTROY 0x233
#define OBD_FAIL_OST_READ_SIZE 0x234
+#define OBD_FAIL_OST_LADVISE_NET 0x235
+#define OBD_FAIL_OST_PAUSE_PUNCH 0x236
#define OBD_FAIL_LDLM 0x300
#define OBD_FAIL_LDLM_NAMESPACE_NEW 0x301
#define OBD_FAIL_OSC_CP_ENQ_RACE 0x410
#define OBD_FAIL_OSC_NO_GRANT 0x411
#define OBD_FAIL_OSC_DELAY_SETTIME 0x412
+#define OBD_FAIL_OSC_CONNECT_GRANT_PARAM 0x413
#define OBD_FAIL_PTLRPC 0x500
#define OBD_FAIL_PTLRPC_ACK 0x501
#define OBD_FAIL_TGT_REPLAY_DELAY2 0x714
#define OBD_FAIL_TGT_REPLAY_RECONNECT 0x715
#define OBD_FAIL_TGT_MOUNT_RACE 0x716
+#define OBD_FAIL_TGT_REPLAY_TIMEOUT 0x717
#define OBD_FAIL_MDC_REVALIDATE_PAUSE 0x800
#define OBD_FAIL_MDC_ENQUEUE_PAUSE 0x801
#define OBD_FAIL_MGS_TARGET_DEL_NET 0x90b
#define OBD_FAIL_MGS_CONFIG_READ_NET 0x90c
#define OBD_FAIL_MGS_LDLM_REPLY_NET 0x90d
+#define OBD_FAIL_MGS_WRITE_TARGET_DELAY 0x90e
#define OBD_FAIL_QUOTA_DQACQ_NET 0xA01
#define OBD_FAIL_QUOTA_EDQUOT 0xA02
#define OBD_FAIL_LLITE_XATTR_ENOMEM 0x1405
#define OBD_FAIL_MAKE_LOVEA_HOLE 0x1406
#define OBD_FAIL_LLITE_LOST_LAYOUT 0x1407
+#define OBD_FAIL_LLITE_NO_CHECK_DEAD 0x1408
+#define OBD_FAIL_GETATTR_DELAY 0x1409
#define OBD_FAIL_FID_INDIR 0x1501
#define OBD_FAIL_FID_INLMA 0x1502
#define OBD_FAIL_SPLIT_UPDATE_REC 0x1702
#define OBD_FAIL_LARGE_STRIPE 0x1703
#define OBD_FAIL_OUT_ENOSPC 0x1704
+#define OBD_FAIL_INVALIDATE_UPDATE 0x1705
/* MIGRATE */
#define OBD_FAIL_MIGRATE_NET_REP 0x1800
#define OBD_FAIL_OSP_CHECK_INVALID_REC 0x2100
#define OBD_FAIL_OSP_CHECK_ENOMEM 0x2101
+#define OBD_FAIL_OSP_FAKE_PRECREATE 0x2102
/* Assign references to moved code to reduce code changes */
#define OBD_FAIL_PRECHECK(id) CFS_FAIL_PRECHECK(id)
#define OBD_ALLOC_LARGE(ptr, size) \
do { \
- OBD_ALLOC_GFP(ptr, size, GFP_NOFS | __GFP_NOWARN); \
+ /* LU-8196 - force large allocations to use vmalloc, not kmalloc */ \
+ if ((size) > KMALLOC_MAX_SIZE) \
+ ptr = NULL; \
+ else \
+ OBD_ALLOC_GFP(ptr, size, GFP_NOFS | __GFP_NOWARN); \
if (ptr == NULL) \
OBD_VMALLOC(ptr, size); \
} while (0)
OBD_CPT_VMALLOC(ptr, cptab, cpt, size); \
} while (0)
-#define OBD_FREE_LARGE(ptr, size) OBD_FREE(ptr, size)
-
#ifdef CONFIG_DEBUG_SLAB
#define POISON(ptr, c, s) do {} while (0)
#define POISON_PTR(ptr) ((void)0)
#endif
#ifdef POISON_BULK
-#define POISON_PAGE(page, val) do { memset(kmap(page), val, PAGE_CACHE_SIZE); \
+#define POISON_PAGE(page, val) do { memset(kmap(page), val, PAGE_CACHE_SIZE); \
kunmap(page); } while (0)
#else
#define POISON_PAGE(page, val) do { } while (0)
#endif
-#define OBD_FREE(ptr, size) \
-do { \
- if (is_vmalloc_addr(ptr)) { \
+#define OBD_FREE(ptr, size) \
+do { \
+ OBD_FREE_PRE(ptr, size, "kfreed"); \
+ kfree(ptr); \
+ POISON_PTR(ptr); \
+} while (0)
+
+#define OBD_FREE_LARGE(ptr, size) \
+do { \
+ if (is_vmalloc_addr(ptr)) { \
OBD_FREE_PRE(ptr, size, "vfreed"); \
- vfree(ptr); \
- } else { \
- OBD_FREE_PRE(ptr, size, "kfreed"); \
- kfree(ptr); \
+ vfree(ptr); \
+ POISON_PTR(ptr); \
+ } else { \
+ OBD_FREE(ptr, size); \
} \
- POISON_PTR(ptr); \
-} while(0)
+} while (0)
#define OBD_FREE_RCU(ptr, size, handle) \
do { \