Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.9.0
-
None
-
3
-
9223372036854775807
Description
The orphan filename format is
#define ORPHAN_FILE_NAME_FORMAT "%016llx:%08x:%08x:%2x" rc = snprintf(key, NAME_MAX + 1, ORPHAN_FILE_NAME_FORMAT, (long long unsigned int)fid_seq(lf), fid_oid(lf), fid_ver(lf), op); if (rc > 0) return (struct dt_key*) key;
So "%2x" might cause the space between fid_ver(lf) and op, instead it should be changed to %02x.
And also a few other place needs to be fixed to resolve compatibility issue. Comments from Andreas:
looks like this will also need an added case in orph_index_delete() to handle the broken filename format. both that check and the orph_key_fill_18() code should be put under #if LUSTRE_VERSION_CODE checks. possibly the _18 version should just be deleted at this point, or replaced by a "_28" check that allows the space in it