From 6cc30d089fe92ee672ee101f864273a6e2416c1a Mon Sep 17 00:00:00 2001 From: Dmitry Zogin Date: Fri, 4 Jun 2010 09:56:12 -0400 Subject: [PATCH] b=22747 Processes stuck waiting for inode I_LOCK bit to clear. Use CFS_ALLOC_IO instead of CFS_ALLOC_STD in OBDO_ALLOC i=andreas.dilger i=johann --- lustre/include/obd_class.h | 2 +- lustre/include/obd_support.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lustre/include/obd_class.h b/lustre/include/obd_class.h index 58d0912..f515c35 100644 --- a/lustre/include/obd_class.h +++ b/lustre/include/obd_class.h @@ -1768,7 +1768,7 @@ extern cfs_mem_cache_t *obdo_cachep; #define OBDO_ALLOC(ptr) \ do { \ - OBD_SLAB_ALLOC_PTR((ptr), obdo_cachep); \ + OBD_SLAB_ALLOC_PTR_GFP((ptr), obdo_cachep, CFS_ALLOC_IO); \ } while(0) #define OBDO_FREE(ptr) \ diff --git a/lustre/include/obd_support.h b/lustre/include/obd_support.h index dbd12ff..eeb00a4 100644 --- a/lustre/include/obd_support.h +++ b/lustre/include/obd_support.h @@ -678,6 +678,8 @@ do { \ OBD_SLAB_ALLOC((ptr), (slab), CFS_ALLOC_STD, sizeof *(ptr)) #define OBD_SLAB_FREE_PTR(ptr, slab) \ OBD_SLAB_FREE((ptr), (slab), sizeof *(ptr)) +#define OBD_SLAB_ALLOC_PTR_GFP(ptr, slab, gfp) \ + OBD_SLAB_ALLOC((ptr), (slab), (gfp), sizeof *(ptr)) #define KEY_IS(str) \ (keylen >= (sizeof(str) - 1) && memcmp(key, str, sizeof(str) - 1) == 0) -- 1.8.3.1