From: Emoly Liu Date: Wed, 17 May 2017 09:04:44 +0000 (+0800) Subject: LU-9505 llapi: treat MDT index as a hex number X-Git-Tag: 2.10.51~101 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=26b710a536dc58c9fa0320cdbf5f6b7ce4dc1a68 LU-9505 llapi: treat MDT index as a hex number Since MDT index is a hex number, "base" in strtol() should be 16. Signed-off-by: Emoly Liu Change-Id: I50922f9eb5d1095f06a493628ef521d34969a59f Reviewed-on: https://review.whamcloud.com/27156 Reviewed-by: Henri Doreau Reviewed-by: Bob Glossman Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lustre/utils/liblustreapi.c b/lustre/utils/liblustreapi.c index f4ddd26..2df30c6 100644 --- a/lustre/utils/liblustreapi.c +++ b/lustre/utils/liblustreapi.c @@ -4506,42 +4506,42 @@ static int get_mdtname(char *name, char *format, char *buf) int root_ioctl(const char *mdtname, int opc, void *data, int *mdtidxp, int want_error) { - char fsname[20]; - char *ptr; + char fsname[20]; + char *ptr; int fd, rc; long index; - /* Take path, fsname, or MDTname. Assume MDT0000 in the former cases. - Open root and parse mdt index. */ - if (mdtname[0] == '/') { - index = 0; - rc = get_root_path(WANT_FD | want_error, NULL, &fd, - (char *)mdtname, -1); - } else { - if (get_mdtname((char *)mdtname, "%s%s", fsname) < 0) - return -EINVAL; - ptr = fsname + strlen(fsname) - 8; - *ptr = '\0'; - index = strtol(ptr + 4, NULL, 10); - rc = get_root_path(WANT_FD | want_error, fsname, &fd, NULL, -1); - } - if (rc < 0) { - if (want_error) - llapi_err_noerrno(LLAPI_MSG_ERROR, - "Can't open %s: %d\n", mdtname, rc); - return rc; - } + /* Take path, fsname, or MDTname. Assume MDT0000 in the former cases. + Open root and parse mdt index. */ + if (mdtname[0] == '/') { + index = 0; + rc = get_root_path(WANT_FD | want_error, NULL, &fd, + (char *)mdtname, -1); + } else { + if (get_mdtname((char *)mdtname, "%s%s", fsname) < 0) + return -EINVAL; + ptr = fsname + strlen(fsname) - 8; + *ptr = '\0'; + index = strtol(ptr + 4, NULL, 16); + rc = get_root_path(WANT_FD | want_error, fsname, &fd, NULL, -1); + } + if (rc < 0) { + if (want_error) + llapi_err_noerrno(LLAPI_MSG_ERROR, + "Can't open %s: %d\n", mdtname, rc); + return rc; + } - if (mdtidxp) - *mdtidxp = index; + if (mdtidxp) + *mdtidxp = index; - rc = ioctl(fd, opc, data); - if (rc == -1) - rc = -errno; - else - rc = 0; - close(fd); - return rc; + rc = ioctl(fd, opc, data); + if (rc == -1) + rc = -errno; + else + rc = 0; + close(fd); + return rc; } int llapi_fid2path(const char *device, const char *fidstr, char *buf,