return !!(exp_connect_flags2(exp) & OBD_CONNECT2_LOCKAHEAD);
}
+static inline int exp_connect_overstriping(struct obd_export *exp)
+{
+ return !!(exp_connect_flags2(exp) & OBD_CONNECT2_OVERSTRIPING);
+}
+
static inline int exp_connect_flr(struct obd_export *exp)
{
return !!(exp_connect_flags2(exp) & OBD_CONNECT2_FLR);
#define OBD_CONNECT2_LOCKAHEAD 0x2ULL /* ladvise lockahead v2 */
#define OBD_CONNECT2_DIR_MIGRATE 0x4ULL /* migrate striped dir */
#define OBD_CONNECT2_SUM_STATFS 0x8ULL /* MDT return aggregated stats */
+#define OBD_CONNECT2_OVERSTRIPING 0x10ULL /* OST overstriping support */
#define OBD_CONNECT2_FLR 0x20ULL /* FLR support */
#define OBD_CONNECT2_WBC_INTENTS 0x40ULL /* create/unlink/... intents for wbc, also operations under client-held parent locks */
#define OBD_CONNECT2_LOCK_CONVERT 0x80ULL /* IBITS lock convert support */
OBD_CONNECT_GRANT_PARAM | \
OBD_CONNECT_SHORTIO | OBD_CONNECT_FLAGS2)
-#define MDT_CONNECT_SUPPORTED2 (OBD_CONNECT2_FILE_SECCTX | OBD_CONNECT2_FLR | \
- OBD_CONNECT2_SUM_STATFS | \
- OBD_CONNECT2_LOCK_CONVERT | \
+#define MDT_CONNECT_SUPPORTED2 (OBD_CONNECT2_FILE_SECCTX | \
OBD_CONNECT2_DIR_MIGRATE | \
+ OBD_CONNECT2_SUM_STATFS | \
+ OBD_CONNECT2_FLR |\
+ OBD_CONNECT2_LOCK_CONVERT | \
OBD_CONNECT2_ARCHIVE_ID_ARRAY | \
OBD_CONNECT2_SELINUX_POLICY | \
OBD_CONNECT2_LSOM)
OBD_CONNECT_GRANT_PARAM |
OBD_CONNECT_SHORTIO | OBD_CONNECT_FLAGS2;
- data->ocd_connect_flags2 = OBD_CONNECT2_FLR |
- OBD_CONNECT2_LOCK_CONVERT |
- OBD_CONNECT2_DIR_MIGRATE |
+ data->ocd_connect_flags2 = OBD_CONNECT2_DIR_MIGRATE |
OBD_CONNECT2_SUM_STATFS |
+ OBD_CONNECT2_FLR |
+ OBD_CONNECT2_LOCK_CONVERT |
OBD_CONNECT2_ARCHIVE_ID_ARRAY |
OBD_CONNECT2_LSOM;
"file_secctx", /* 0x01 */
"lockaheadv2", /* 0x02 */
"dir_migrate", /* 0x04 */
- "unknown", /* 0x08 */
- "unknown", /* 0x10 */
+ "sum_statfs", /* 0x08 */
+ "overstriping", /* 0x10 */
"flr", /* 0x20 */
"wbc", /* 0x40 */
"lock_convert", /* 0x80 */
OBD_CONNECT2_LOCKAHEAD);
LASSERTF(OBD_CONNECT2_DIR_MIGRATE == 0x4ULL, "found 0x%.16llxULL\n",
OBD_CONNECT2_DIR_MIGRATE);
+ LASSERTF(OBD_CONNECT2_SUM_STATFS == 0x8ULL, "found 0x%.16llxULL\n",
+ OBD_CONNECT2_SUM_STATFS);
+ LASSERTF(OBD_CONNECT2_OVERSTRIPING == 0x10ULL, "found 0x%.16llxULL\n",
+ OBD_CONNECT2_OVERSTRIPING);
LASSERTF(OBD_CONNECT2_FLR == 0x20ULL, "found 0x%.16llxULL\n",
OBD_CONNECT2_FLR);
LASSERTF(OBD_CONNECT2_WBC_INTENTS == 0x40ULL, "found 0x%.16llxULL\n",
CHECK_DEFINE_64X(OBD_CONNECT2_FILE_SECCTX);
CHECK_DEFINE_64X(OBD_CONNECT2_LOCKAHEAD);
CHECK_DEFINE_64X(OBD_CONNECT2_DIR_MIGRATE);
+ CHECK_DEFINE_64X(OBD_CONNECT2_SUM_STATFS);
+ CHECK_DEFINE_64X(OBD_CONNECT2_OVERSTRIPING);
CHECK_DEFINE_64X(OBD_CONNECT2_FLR);
CHECK_DEFINE_64X(OBD_CONNECT2_WBC_INTENTS);
CHECK_DEFINE_64X(OBD_CONNECT2_LOCK_CONVERT);
OBD_CONNECT2_LOCKAHEAD);
LASSERTF(OBD_CONNECT2_DIR_MIGRATE == 0x4ULL, "found 0x%.16llxULL\n",
OBD_CONNECT2_DIR_MIGRATE);
+ LASSERTF(OBD_CONNECT2_SUM_STATFS == 0x8ULL, "found 0x%.16llxULL\n",
+ OBD_CONNECT2_SUM_STATFS);
+ LASSERTF(OBD_CONNECT2_OVERSTRIPING == 0x10ULL, "found 0x%.16llxULL\n",
+ OBD_CONNECT2_OVERSTRIPING);
LASSERTF(OBD_CONNECT2_FLR == 0x20ULL, "found 0x%.16llxULL\n",
OBD_CONNECT2_FLR);
LASSERTF(OBD_CONNECT2_WBC_INTENTS == 0x40ULL, "found 0x%.16llxULL\n",