diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2014-07-03 17:36:36 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2014-08-22 15:04:50 +0200 |
commit | 23d7f6d9dc0aa42e30fe9642b4e0876354d2c02e (patch) | |
tree | a4126379363d41fb397f73df5d532f65104d10f2 /super-recover.c | |
parent | bc70abad8cddc344bef1378017d159139c89d4ba (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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/super-recover.c b/super-recover.c index cd6ba372..767de4ba 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; |