Details
-
Bug
-
Resolution: Fixed
-
Major
-
Lustre 2.8.0
-
lustre-2.8.0_8.chaos
-
3
-
9223372036854775807
Description
lfs changelog <mdtname>
parses the index of mdtname incorrectly, causing it to fetch the wrong changelog entries if the index contains letters [A-F] (e.g. lquake-MDT000A).
The error appears to be here:
diff --git a/lustre/utils/liblustreapi.c b/lustre/utils/liblustreapi.c index 9301383..38e2085 100644 --- a/lustre/utils/liblustreapi.c +++ b/lustre/utils/liblustreapi.c @@ -3985,7 +3985,7 @@ int root_ioctl(const char *mdtname, int opc, void *data, int *mdtidxp, return -EINVAL; ptr = fsname + strlen(fsname) - 8; *ptr = '\0'; - index = strtol(ptr + 4, NULL, 10); + index = strtol(ptr + 4, NULL, 16); rc = get_root_path(WANT_FD | want_error, fsname, &fd, NULL, -1); } if (rc < 0) {
It looks like this error is present in Lustre 2.9 as well. Master exposes changelogs using the MDT name itself, not just the index, and may not have this issue.
John L. Hammond (john.hammond@intel.com) merged in patch https://review.whamcloud.com/28225/
Subject:
LU-9505llapi: treat MDT index as a hex numberProject: fs/lustre-release
Branch: b2_10
Current Patch Set:
Commit: f75574c5f6d88eb697dfafce11469b4e3f2b8e95