Whamcloud - gitweb
LU-6727 osd: auto locate BH_DXLock bit 61/15961/8
authorYang Sheng <yang.sheng@intel.com>
Wed, 12 Aug 2015 08:58:31 +0000 (16:58 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 19 Aug 2015 15:49:24 +0000 (15:49 +0000)
BH_DXLock use a fix code bit before. It may occupied by other one
silently. From lustre view, jdb2 & ext4 also use this defines, So
we use ext4's define to determine last value.

Signed-off-by: Yang Sheng <yang.sheng@intel.com>
Change-Id: I0fde8b461afec6acafe2708211761c3c60c529d7
Reviewed-on: http://review.whamcloud.com/15961
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_iam.h

index 8c2486c..09709b3 100644 (file)
@@ -6205,6 +6205,7 @@ static int __init osd_mod_init(void)
 {
        int rc;
 
+       LASSERT(BH_DXLock < sizeof(((struct buffer_head *)0)->b_state) * 8);
 #if !defined(CONFIG_DEBUG_MUTEXES) && !defined(CONFIG_DEBUG_SPINLOCK)
        /* please, try to keep osd_thread_info smaller than a page */
        CLASSERT(sizeof(struct osd_thread_info) <= PAGE_SIZE);
index b9f5628..50aaa24 100644 (file)
@@ -1020,7 +1020,7 @@ int iam_lvar_create(struct inode *obj,
 #define dxtrace(command) 
 #endif
 
-#define BH_DXLock        25
+#define BH_DXLock        (BH_BITMAP_UPTODATE + 1)
 #define DX_DEBUG (0)
 #if DX_DEBUG
 static struct iam_lock_stats {