#define OBD_CONNECT2_LOCK_CONVERT 0x80ULL /* IBITS lock convert support */
#define OBD_CONNECT2_ARCHIVE_ID_ARRAY 0x100ULL /* store HSM archive_id in array */
#define OBD_CONNECT2_SELINUX_POLICY 0x400ULL /* has client SELinux policy */
+#define OBD_CONNECT2_LSOM 0x800ULL /* LSOM support */
/* XXX README XXX:
* Please DO NOT add flag values here before first ensuring that this same
OBD_CONNECT2_LOCK_CONVERT | \
OBD_CONNECT2_DIR_MIGRATE | \
OBD_CONNECT2_ARCHIVE_ID_ARRAY | \
- OBD_CONNECT2_SELINUX_POLICY)
+ OBD_CONNECT2_SELINUX_POLICY | \
+ OBD_CONNECT2_LSOM)
#define OST_CONNECT_SUPPORTED (OBD_CONNECT_SRVLOCK | OBD_CONNECT_GRANT | \
OBD_CONNECT_REQPORTAL | OBD_CONNECT_VERSION | \
OBD_CONNECT2_LOCK_CONVERT |
OBD_CONNECT2_DIR_MIGRATE |
OBD_CONNECT2_SUM_STATFS |
- OBD_CONNECT2_ARCHIVE_ID_ARRAY;
+ OBD_CONNECT2_ARCHIVE_ID_ARRAY |
+ OBD_CONNECT2_LSOM;
#ifdef HAVE_LRU_RESIZE_SUPPORT
if (sbi->ll_flags & LL_SBI_LRU_RESIZE)
req->rq_request_portal = MDS_READPAGE_PORTAL;
ptlrpc_at_set_req_timeout(req);
+ if (!(exp_connect_flags2(exp) & OBD_CONNECT2_LSOM))
+ op_data->op_xvalid &= ~(OP_XVALID_LAZYSIZE |
+ OP_XVALID_LAZYBLOCKS);
mdc_close_pack(req, op_data);
MDS_ATTR_FROM_OPEN | MDS_ATTR_LSIZE | MDS_ATTR_LBLOCKS |
MDS_ATTR_OVERRIDE);
if (in != 0)
- CERROR("Unknown attr bits: %#llx\n", in);
+ CDEBUG(D_INFO, "Unknown attr bits: %#llx\n", in);
return out;
}
"wbc", /* 0x40 */
"lock_convert", /* 0x80 */
"archive_id_array", /* 0x100 */
- "selinux_policy", /* 0x200 */
+ "unknown", /* 0x200 */
+ "selinux_policy", /* 0x400 */
+ "lsom", /* 0x800 */
NULL
};
OBD_CONNECT2_ARCHIVE_ID_ARRAY);
LASSERTF(OBD_CONNECT2_SELINUX_POLICY == 0x400ULL, "found 0x%.16llxULL\n",
OBD_CONNECT2_SELINUX_POLICY);
+ LASSERTF(OBD_CONNECT2_LSOM == 0x800ULL, "found 0x%.16llxULL\n",
+ OBD_CONNECT2_LSOM);
LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
(unsigned)OBD_CKSUM_CRC32);
LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",
CHECK_DEFINE_64X(OBD_CONNECT2_LOCK_CONVERT);
CHECK_DEFINE_64X(OBD_CONNECT2_ARCHIVE_ID_ARRAY);
CHECK_DEFINE_64X(OBD_CONNECT2_SELINUX_POLICY);
+ CHECK_DEFINE_64X(OBD_CONNECT2_LSOM);
CHECK_VALUE_X(OBD_CKSUM_CRC32);
CHECK_VALUE_X(OBD_CKSUM_ADLER);
OBD_CONNECT2_ARCHIVE_ID_ARRAY);
LASSERTF(OBD_CONNECT2_SELINUX_POLICY == 0x400ULL, "found 0x%.16llxULL\n",
OBD_CONNECT2_SELINUX_POLICY);
+ LASSERTF(OBD_CONNECT2_LSOM == 0x800ULL, "found 0x%.16llxULL\n",
+ OBD_CONNECT2_LSOM);
LASSERTF(OBD_CKSUM_CRC32 == 0x00000001UL, "found 0x%.8xUL\n",
(unsigned)OBD_CKSUM_CRC32);
LASSERTF(OBD_CKSUM_ADLER == 0x00000002UL, "found 0x%.8xUL\n",