summaryrefslogtreecommitdiff
path: root/convert
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2017-11-29 21:48:05 +0800
committerDavid Sterba <dsterba@suse.com>2018-01-03 17:29:19 +0100
commite8f9653fc04513db59b0d1438367ecee1552db9d (patch)
tree216a0d67562b09fe7040ff3a7b74f4d1b2b77275 /convert
parent0a9ab8725293cc93a86cc55859ac2378df5c4212 (diff)
btrfs-progs: convert: Fix a bug in rollback check which overwrite return value
Commit 1170ac307900 ("btrfs-progs: convert: Introduce function to check if convert image is able to be rolled back") reworked rollback check condition, by checking 1:1 mapping of each file extent. The idea itself has nothing wrong, but error handler is not implemented correctly, which over writes the return value and always try to rollback the fs even it fails to pass the check. Fix it by correctly return the error before rollback the fs. Fixes: 1170ac307900 ("btrfs-progs: convert: Introduce function to check if convert image is able to be rolled back") Reported-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'convert')
-rw-r--r--convert/main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/convert/main.c b/convert/main.c
index af285531..89f92611 100644
--- a/convert/main.c
+++ b/convert/main.c
@@ -1443,6 +1443,8 @@ next:
}
}
btrfs_release_path(&path);
+ if (ret)
+ return ret;
/*
* For HOLES mode (without NO_HOLES), we must ensure file extents
* cover the whole range of the image