btrfs-progs: mkfs: fix overwritten return value for mkfs
authorQu Wenruo <wqu@suse.com>
Thu, 19 Oct 2017 05:41:35 +0000 (13:41 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 14 Nov 2017 14:59:00 +0000 (15:59 +0100)
For mkfs failure, especially --rootdir errors like EPERM/ENOSPC, the out
branch will overwrite the return value, causing wrong status code.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
mkfs/main.c

index 94f54d8..284dbd7 100644 (file)
@@ -1426,6 +1426,7 @@ int main(int argc, char **argv)
        int zero_end = 1;
        int fd = -1;
        int ret;
+       int close_ret;
        int i;
        int mixed = 0;
        int nodesize_forced = 0;
@@ -1941,9 +1942,9 @@ raid_groups:
         */
        fs_info->finalize_on_close = 1;
 out:
-       ret = close_ctree(root);
+       close_ret = close_ctree(root);
 
-       if (!ret) {
+       if (!close_ret) {
                optind = saved_optind;
                dev_cnt = argc - optind;
                while (dev_cnt-- > 0) {