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 <jhammond@whamcloud.com>
Change-Id: Iccd9e1054ed8842fc4f65dd601077cfdeaa1320c
Reviewed-on: https://review.whamcloud.com/41727
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
static int lfs_rmfid_and_show_errors(const char *device, struct fid_array *fa)
{
static int lfs_rmfid_and_show_errors(const char *device, struct fid_array *fa)
{
rc = llapi_rmfid(device, fa);
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++) {
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))
+
+ if (rc == 0)
+ rc = rc2;
+
fa->fa_fids[k].f_ver = 0;
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));
}
static int lfs_rmfid(int argc, char **argv)
}
static int lfs_rmfid(int argc, char **argv)