Details
-
Task
-
Resolution: Fixed
-
Minor
-
Lustre 2.2.0, Lustre 2.1.2, Lustre 1.8.7
-
None
-
1
-
4693
Description
The FID version is currently being stored in LDLM res[2]:
struct ldlm_res_id *fid_build_reg_res_name(const struct lu_fid *f, struct ldlm_res_id *name) { memset(name, 0, sizeof *name); name->name[LUSTRE_RES_ID_SEQ_OFF] = fid_seq(f); name->name[LUSTRE_RES_ID_OID_OFF] = fid_oid(f); name->name[LUSTRE_RES_ID_VER_OFF] = fid_ver(f); return name; }
However, both the OID and VER are 32-bit values, and there is a need for quota to have 2x64 bit DLM fields for addressing per-directory quota. It is possible to move the FID VER field into the high bits of res[1] without any conflict, because the FID VER is always zero today, and there are no plans to use it in the near future. Any changes that utilize the FID VER would need client-side changes, so there is no danger that clients using the old encoding will be able to interoperate with servers using the new encoding.
Attachments
Issue Links
- Trackbacks
-
Lustre 1.8.x known issues tracker While testing against Lustre b18 branch, we would hit known bugs which were already reported in Lustre Bugzilla https://bugzilla.lustre.org/. In order to move away from relying on Bugzilla, we would create a JIRA
-
Changelog 1.8 Changes from version 1.8.7wc1 to version 1.8.8wc1 Server support for kernels: 2.6.18308.4.1.el5 (RHEL5) Client support for unpatched kernels: 2.6.18308.4.1.el5 (RHEL5) 2.6.32220.17.1.el6 (RHEL6) Recommended e2fsprogs version: 1.41.90....
-
Changelog 2.1 Changes from version 2.1.1 to version 2.1.2 Server support for kernels: 2.6.18308.4.1.el5 (RHEL5) 2.6.32220.17.1.el6 (RHEL6) Client support for unpatched kernels: 2.6.18308.4.1.el5 (RHEL5) 2.6.32220.17.1....