summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2017-10-19 13:41:35 +0800
committerDavid Sterba <dsterba@suse.com>2017-11-14 15:59:00 +0100
commit625223903e23b46de615e71e9860a17afcd87632 (patch)
tree077cdf07e14a4630d9557a0d59f3a8631d02073d
parenta00bfc200ccfd27fe2f2bc1d0cd92b81a7bba06f (diff)
btrfs-progs: mkfs: fix overwritten return value for mkfs
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>
-rw-r--r--mkfs/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mkfs/main.c b/mkfs/main.c
index 94f54d81..284dbd75 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -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) {