X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Fobd_support.h;h=0bdfc4ae2513640de7c81d37f923f8c38876206d;hp=b4098eaa8ba172bc306c4bdeb677e23a895b9690;hb=26995a3588e72d65f609b12772d24a879c9deb7f;hpb=7093fb094f0cf7ea1a5c9a21b198f41f2558a9b8 diff --git a/lustre/include/obd_support.h b/lustre/include/obd_support.h index b4098ea..0bdfc4a 100644 --- a/lustre/include/obd_support.h +++ b/lustre/include/obd_support.h @@ -37,10 +37,18 @@ #ifndef _OBD_SUPPORT #define _OBD_SUPPORT +#ifndef __KERNEL__ +# error Userspace should not include obd_support.h. +#endif /* !__KERNEL__ */ + +#include +#include +#include +#include + #include #include - -#include +#include /* global variables */ extern struct lprocfs_stats *obd_memory; @@ -417,6 +425,8 @@ int obd_alloc_fail(const void *ptr, const char *name, const char *type, #define OBD_FAIL_TGT_CLIENT_ADD 0x711 #define OBD_FAIL_TGT_RCVG_FLAG 0x712 #define OBD_FAIL_TGT_DELAY_CONDITIONAL 0x713 +#define OBD_FAIL_TGT_REPLAY_DELAY2 0x714 +#define OBD_FAIL_TGT_REPLAY_RECONNECT 0x715 #define OBD_FAIL_MDC_REVALIDATE_PAUSE 0x800 #define OBD_FAIL_MDC_ENQUEUE_PAUSE 0x801 @@ -518,10 +528,19 @@ int obd_alloc_fail(const void *ptr, const char *name, const char *type, #define OBD_FAIL_LFSCK_BAD_NETWORK 0x161c #define OBD_FAIL_LFSCK_NO_LINKEA 0x161d #define OBD_FAIL_LFSCK_BAD_PARENT 0x161e -#define OBD_FAIL_LFSCK_BAD_PARENT2 0x161f #define OBD_FAIL_LFSCK_DANGLING2 0x1620 #define OBD_FAIL_LFSCK_DANGLING3 0x1621 #define OBD_FAIL_LFSCK_MUL_REF 0x1622 +#define OBD_FAIL_LFSCK_BAD_TYPE 0x1623 +#define OBD_FAIL_LFSCK_NO_NAMEENTRY 0x1624 +#define OBD_FAIL_LFSCK_MORE_NLINK 0x1625 +#define OBD_FAIL_LFSCK_LESS_NLINK 0x1626 +#define OBD_FAIL_LFSCK_LINKEA_OVERFLOW 0x1627 +#define OBD_FAIL_LFSCK_BAD_NAME_HASH 0x1628 +#define OBD_FAIL_LFSCK_LOST_MASTER_LMV 0x1629 +#define OBD_FAIL_LFSCK_LOST_SLAVE_LMV 0x162a +#define OBD_FAIL_LFSCK_BAD_SLAVE_LMV 0x162b +#define OBD_FAIL_LFSCK_BAD_SLAVE_NAME 0x162c #define OBD_FAIL_LFSCK_NOTIFY_NET 0x16f0 #define OBD_FAIL_LFSCK_QUERY_NET 0x16f1 @@ -603,7 +622,7 @@ extern void obd_update_maxusage(void); extern __u64 obd_memory_max(void); extern __u64 obd_pages_max(void); -#else +#else /* LPROCFS */ extern __u64 obd_alloc; extern __u64 obd_pages; @@ -641,7 +660,7 @@ static inline void obd_pages_sub(int order) #define obd_memory_max() (obd_max_alloc) #define obd_pages_max() (obd_max_pages) -#endif +#endif /* !LPROCFS */ #define OBD_DEBUG_MEMUSAGE (1) @@ -675,22 +694,6 @@ static inline void obd_pages_sub(int order) #define OBD_ALLOC_FAIL_MASK ((1 << OBD_ALLOC_FAIL_BITS) - 1) #define OBD_ALLOC_FAIL_MULT (OBD_ALLOC_FAIL_MASK / 100) -#if defined(LUSTRE_UTILS) /* this version is for utils only */ -#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 (unlikely((ptr) == NULL)) { \ - CERROR("kmalloc of '" #ptr "' (%d bytes) failed at %s:%d\n", \ - (int)(size), __FILE__, __LINE__); \ - } else { \ - CDEBUG(D_MALLOC, "kmalloced '" #ptr "': %d at %p\n", \ - (int)(size), ptr); \ - } \ -} while (0) - -#else /* this version is for the kernel and liblustre */ #define OBD_FREE_RTN0(ptr) \ ({ \ kfree(ptr); \ @@ -711,7 +714,6 @@ do { \ OBD_ALLOC_POST(ptr, size, "kmalloced"); \ } \ } while (0) -#endif #define OBD_ALLOC_GFP(ptr, size, gfp_mask) \ __OBD_MALLOC_VERBOSE(ptr, NULL, 0, size, gfp_mask) @@ -734,7 +736,7 @@ do { \ * (and particularly to not set __GFP_FS, which is likely to cause some * deadlock situations in our code). */ -# define __OBD_VMALLOC_VERBOSE(ptr, cptab, cpt, size) \ +#define __OBD_VMALLOC_VERBOSE(ptr, cptab, cpt, size) \ do { \ (ptr) = cptab == NULL ? \ __vmalloc(size, GFP_NOFS | __GFP_HIGHMEM | __GFP_ZERO, \ @@ -750,13 +752,11 @@ do { \ } \ } while(0) -# define OBD_VMALLOC(ptr, size) \ +#define OBD_VMALLOC(ptr, size) \ __OBD_VMALLOC_VERBOSE(ptr, NULL, 0, size) -# define OBD_CPT_VMALLOC(ptr, cptab, cpt, size) \ +#define OBD_CPT_VMALLOC(ptr, cptab, cpt, size) \ __OBD_VMALLOC_VERBOSE(ptr, cptab, cpt, size) -#ifdef __KERNEL__ - /* Allocations above this size are considered too big and could not be done * atomically. * @@ -790,17 +790,6 @@ do { \ OBD_FREE(ptr, size); \ } while (0) -#else /* !__KERNEL__ */ - -#define OBD_ALLOC_LARGE(ptr, size) \ - OBD_ALLOC(ptr, size) -#define OBD_CPT_ALLOC_LARGE(ptr, cptab, cpt, size) \ - OBD_ALLOC(ptr, size) -#define OBD_FREE_LARGE(ptr, size) \ - OBD_FREE(ptr, size) - -#endif /* __KERNEL__ */ - #ifdef CONFIG_DEBUG_SLAB #define POISON(ptr, c, s) do {} while (0) #define POISON_PTR(ptr) ((void)0) @@ -816,7 +805,6 @@ do { \ #define POISON_PAGE(page, val) do { } while (0) #endif -#ifdef __KERNEL__ #define OBD_FREE(ptr, size) \ do { \ OBD_FREE_PRE(ptr, size, "kfreed"); \ @@ -836,11 +824,6 @@ do { \ POISON_PTR(ptr); \ } while(0) -#else -#define OBD_FREE(ptr, size) ((void)(size), free((ptr))) -#define OBD_FREE_RCU(ptr, size, handle) (OBD_FREE(ptr, size)) -#endif /* ifdef __KERNEL__ */ - #define OBD_VFREE(ptr, size) \ do { \ OBD_FREE_PRE(ptr, size, "vfreed"); \