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