From 6560ae08a788b3779118640837f68b499a99ee8c Mon Sep 17 00:00:00 2001 From: "John L. Hammond" Date: Tue, 23 Feb 2021 09:40:08 -0600 Subject: [PATCH] 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 --- lustre/utils/lfs.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) 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) -- 1.8.3.1