summaryrefslogtreecommitdiff
path: root/super-recover.c
diff options
context:
space:
mode:
authorQu Wenruo <quwenruo@cn.fujitsu.com>2014-07-03 17:36:36 +0800
committerDavid Sterba <dsterba@suse.cz>2014-08-22 15:04:50 +0200
commit23d7f6d9dc0aa42e30fe9642b4e0876354d2c02e (patch)
treea4126379363d41fb397f73df5d532f65104d10f2 /super-recover.c
parentbc70abad8cddc344bef1378017d159139c89d4ba (diff)
btrfs-progs: Allow btrfs_read_dev_super() to read all 3 super for super_recover.
Btrfs-progs superblock checksum check is somewhat too restricted for super-recover, since current btrfs-progs will only read the 1st superblock and if you need super-recover the 1st superblock is possibly already damaged. The fix is introducing super_recover parameter for btrfs_read_dev_super() and callers to allow scan backup superblocks if needed. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'super-recover.c')
-rw-r--r--super-recover.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/super-recover.c b/super-recover.c
index cd6ba37..767de4b 100644
--- a/super-recover.c
+++ b/super-recover.c
@@ -292,7 +292,7 @@ int btrfs_recover_superblocks(const char *dname,
}
init_recover_superblock(&recover);
- ret = btrfs_scan_fs_devices(fd, dname, &recover.fs_devices, 0, 0);
+ ret = btrfs_scan_fs_devices(fd, dname, &recover.fs_devices, 0, 0, 1);
close(fd);
if (ret) {
ret = 1;