Whamcloud - gitweb
LU-13686 utils: pool_add/remove error code fix 60/38960/6
authorSergey Cheremencev <sergey.cheremencev@hpe.com>
Wed, 17 Jun 2020 11:01:13 +0000 (14:01 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 13 Aug 2020 06:02:17 +0000 (06:02 +0000)
jt_pool_cmd should always return error code, even
if it failed to add/remove just one of OSTs from list.
Before this patch it returned latest command result,
ignoring previous failures.

Change-Id: Ife6cefc006f061b47a1b00daf826d0d1d34fd66c
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@hpe.com>
Reviewed-on: https://review.whamcloud.com/38960
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Vladimir Saveliev <c17830@cray.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/utils/obd.c

index e824f24..f245a35 100644 (file)
@@ -4975,18 +4975,20 @@ int jt_pool_cmd(int argc, char **argv)
 
                        for (j = 0; j < array_sz; j++) {
                                char ostname[MAX_OBD_NAME + 1];
+                               int rc2;
 
                                snprintf(ostname, MAX_OBD_NAME, format,
                                         array[j]);
                                ostname[MAX_OBD_NAME] = '\0';
 
-                               rc = check_and_complete_ostname(fsname,
+                               rc2 = check_and_complete_ostname(fsname,
                                                                ostname);
-                               if (rc) {
+                               if (rc2) {
                                        free(array);
                                        free(cmds);
                                        if (ostnames_buf)
                                                free(ostnames_buf);
+                                       rc = rc ? rc : rc2;
                                        goto out;
                                }
                                if (ostnames_buf) {