From 14ea5da8867c36e03ec9005fef0f577e0e4dc0b6 Mon Sep 17 00:00:00 2001 From: Yang Sheng Date: Wed, 12 Aug 2015 16:58:31 +0800 Subject: [PATCH] LU-6727 osd: auto locate BH_DXLock bit 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 Change-Id: I0fde8b461afec6acafe2708211761c3c60c529d7 Reviewed-on: http://review.whamcloud.com/15961 Reviewed-by: Andreas Dilger Reviewed-by: Bobi Jam Reviewed-by: Alex Zhuravlev Tested-by: Jenkins Tested-by: Maloo --- lustre/osd-ldiskfs/osd_handler.c | 1 + lustre/osd-ldiskfs/osd_iam.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c index 8c2486c..09709b3 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -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); diff --git a/lustre/osd-ldiskfs/osd_iam.h b/lustre/osd-ldiskfs/osd_iam.h index b9f5628..50aaa24 100644 --- a/lustre/osd-ldiskfs/osd_iam.h +++ b/lustre/osd-ldiskfs/osd_iam.h @@ -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 { -- 1.8.3.1