From: John L. Hammond Date: Tue, 23 Feb 2021 15:40:08 +0000 (-0600) Subject: LU-14468 utils: improve 'lfs rmfid' error messages X-Git-Tag: 2.14.51~75 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=6560ae08a788b3779118640837f68b499a99ee8c;p=fs%2Flustre-release.git LU-14468 utils: improve 'lfs rmfid' error messages In lfs_rmfid_and_show_errors(), convert the error messages printed by 'lfs rmfid' from the format rmfid([0x20001a9f5:0x159:0x0]): rc = -39 to lfs rmfid: cannot remove [0x20001a9f5:0x155:0x0]: Directory not empty Simplify the logic and swap rc and rc2 to follow conventions. Signed-off-by: John L. Hammond Change-Id: Iccd9e1054ed8842fc4f65dd601077cfdeaa1320c Reviewed-on: https://review.whamcloud.com/41727 Tested-by: jenkins Reviewed-by: Jian Yu Tested-by: Maloo Reviewed-by: Alex Zhuravlev Reviewed-by: Oleg Drokin --- diff --git a/lustre/utils/lfs.c b/lustre/utils/lfs.c index 3dfa32d..1df070a 100644 --- a/lustre/utils/lfs.c +++ b/lustre/utils/lfs.c @@ -8664,28 +8664,29 @@ static int lfs_path2fid(int argc, char **argv) static int lfs_rmfid_and_show_errors(const char *device, struct fid_array *fa) { - int rc, rc2 = 0, k; + int rc, rc2, k; rc = llapi_rmfid(device, fa); - if (rc) { - fprintf(stderr, "rmfid(): rc = %d\n", rc); + if (rc < 0) { + fprintf(stderr, "%s rmfid: cannot remove FIDs: %s\n", + progname, strerror(-rc)); return rc; } for (k = 0; k < fa->fa_nr; k++) { - rc = (__s32)fa->fa_fids[k].f_ver; - if (!IS_ERR_VALUE(rc)) - continue; - if (!rc2 && rc) - rc2 = rc; - if (!rc) + rc2 = (__s32)fa->fa_fids[k].f_ver; + if (!IS_ERR_VALUE(rc2)) continue; + + if (rc == 0) + rc = rc2; + fa->fa_fids[k].f_ver = 0; - fprintf(stderr, "rmfid("DFID"): rc = %d\n", - PFID(&fa->fa_fids[k]), rc); + fprintf(stderr, "%s rmfid: cannot remove "DFID": %s\n", + progname, PFID(&fa->fa_fids[k]), strerror(-rc2)); } - return rc2; + return rc; } static int lfs_rmfid(int argc, char **argv)