Reserve flag bits for metadata overstriping.
Test-Parameters: trivial
Signed-off-by: Patrick Farrell <farr0186@gmail.com>
Change-Id: I894b9420a4b08cceaccca6b3184ecb3bd22a680c
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49707
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
(type & LMV_HASH_TYPE_MASK) < LMV_HASH_TYPE_MAX;
}
+/* This flag indicates that overstriping (>1 stripe per MDT) is desired */
+#define LMV_HASH_FLAG_OVERSTRIPED 0x01000000
/* fixed layout, such directories won't split automatically */
/* NB, update LMV_HASH_FLAG_KNOWN when adding new flag */
#define LMV_HASH_FLAG_FIXED 0x02000000
BUILD_BUG_ON(LMV_MAGIC_V1 != 0x0CD20CD0);
BUILD_BUG_ON(LMV_MAGIC_STRIPE != 0x0CD40CD0);
BUILD_BUG_ON(LMV_HASH_TYPE_MASK != 0x0000ffff);
+ BUILD_BUG_ON(LMV_HASH_FLAG_OVERSTRIPED != 0x01000000);
BUILD_BUG_ON(LMV_HASH_FLAG_FIXED != 0x02000000);
BUILD_BUG_ON(LMV_HASH_FLAG_MERGE != 0x04000000);
BUILD_BUG_ON(LMV_HASH_FLAG_SPLIT != 0x08000000);
else
llapi_printf(LLAPI_MSG_NORMAL, "%#x", type);
+ if (flags & LMV_HASH_FLAG_OVERSTRIPED)
+ llapi_printf(LLAPI_MSG_NORMAL, ",overstriped");
if (flags & LMV_HASH_FLAG_MIGRATION)
llapi_printf(LLAPI_MSG_NORMAL, ",migrating");
if (flags & LMV_HASH_FLAG_BAD_TYPE)
llapi_printf(LLAPI_MSG_NORMAL, ",lost_lmv");
if (flags & LMV_HASH_FLAG_FIXED)
llapi_printf(LLAPI_MSG_NORMAL, ",fixed");
- if (flags & ~LMV_HASH_FLAG_KNOWN)
+ /* NB: OVERSTRIPED is not in KNOWN until implementation patch
+ * is landed, but we do recognize it
+ */
+ if (flags & ~(LMV_HASH_FLAG_KNOWN|LMV_HASH_FLAG_OVERSTRIPED))
llapi_printf(LLAPI_MSG_NORMAL, ",unknown_%04x",
flags & ~LMV_HASH_FLAG_KNOWN);
CHECK_CDEFINE(LMV_MAGIC_V1);
CHECK_CDEFINE(LMV_MAGIC_STRIPE);
CHECK_CDEFINE(LMV_HASH_TYPE_MASK);
+ CHECK_CDEFINE(LMV_HASH_FLAG_OVERSTRIPED);
CHECK_CDEFINE(LMV_HASH_FLAG_FIXED);
CHECK_CDEFINE(LMV_HASH_FLAG_MERGE);
CHECK_CDEFINE(LMV_HASH_FLAG_SPLIT);
BUILD_BUG_ON(LMV_MAGIC_V1 != 0x0CD20CD0);
BUILD_BUG_ON(LMV_MAGIC_STRIPE != 0x0CD40CD0);
BUILD_BUG_ON(LMV_HASH_TYPE_MASK != 0x0000ffff);
+ BUILD_BUG_ON(LMV_HASH_FLAG_OVERSTRIPED != 0x01000000);
BUILD_BUG_ON(LMV_HASH_FLAG_FIXED != 0x02000000);
BUILD_BUG_ON(LMV_HASH_FLAG_MERGE != 0x04000000);
BUILD_BUG_ON(LMV_HASH_FLAG_SPLIT != 0x08000000);