Details
-
Improvement
-
Resolution: Fixed
-
Minor
-
Lustre 2.4.0
-
None
-
10320
Description
Some of the OBD_CONNECT flags were added to signal the presence of a new feature, but the feature is now available in all of the supported Lustre versions. That means there is no longer a need for the connect flag to be checked, and it could be deprecated and recycled at some point in the future, to avoid having an ever-expanding list of ubiquitous features being checked for each time.
This first batch of flags could likely immediately stop being checked for by clients/servers, since they are always available. They still need to be sent/accepted by peers, for interoperability with older Lustre versions. At some later time when no checking for a given flag is universal, the flag can be removed entirely. The quota flags could also be dropped entirely for 2.4, and potentially be used to detect servers using the old quota protocol.
#define OBD_CONNECT_VERSION 0x20ULL /*Lustre versions in ocd */ #define OBD_CONNECT_REQPORTAL 0x40ULL /*Separate non-IO req portal */ #define OBD_CONNECT_TRUNCLOCK 0x400ULL /*locks on server for punch */ #define OBD_CONNECT_IBITS 0x1000ULL /*support for inodebits locks*/ #define OBD_CONNECT_JOIN 0x2000ULL /*files can be concatenated. */ #define OBD_CONNECT_NODEVOH 0x8000ULL /*No open hndl on specl nodes*/ #define OBD_CONNECT_BRW_SIZE 0x40000ULL /*Max bytes per rpc */ #define OBD_CONNECT_QUOTA64 0x80000ULL /*64bit qunit_data.qd_count */ #define OBD_CONNECT_CANCELSET 0x400000ULL /*Early batched cancels. */ #define OBD_CONNECT_AT 0x1000000ULL /*client uses AT */ #define OBD_CONNECT_CHANGE_QS 0x10000000ULL /*shrink/enlarge qunit */ #define OBD_CONNECT_CKSUM 0x20000000ULL /*support several cksum algos*/ #define OBD_CONNECT_VBR 0x80000000ULL /*version based recovery */ #define OBD_CONNECT_LOV_V3 0x100000000ULL /*client supports LOV v3 EA */ #define OBD_CONNECT_SKIP_ORPHAN 0x400000000ULL /* don't reuse orphan objids */
The next set of flags could stop being checked beginning in Lustre 2.5 since it will no longer interoperate with Lustre 1.8.x, and these flags have only been introduced since Lustre 2.0.
#define OBD_CONNECT_FID 0x40000000ULL /*FID is supported by server */ #define OBD_CONNECT_FULL20 0x1000000000ULL /* it is 2.0 client */
Note OBD_CONNECT_FID could only be ignored on the MDS initially, since it is just introduced for FID-on-OST connections for DNE in 2.4.
Attachments
Issue Links
- is related to
-
LU-8402 OBD_CONNECT_* flags retirement
-
- Resolved
-
Landed for 2.16