btrfs-progs: image: Warn about log tree generation mismatch when restoring

At restore time, btrfs-image will try to fixup dev extents, this will
trigger a transaction.

It's normally OK to start a new transaction, but for an image with log
tree, a new transaction will increment generation, and log tree generation
will not match super block generation + 1.

There is no good way to solve it yet. Just output a warning for now.

Signed-off-by: Qu Wenruo <wqu@suse.com>
[ update error message ]
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Qu Wenruo 2018-10-04 14:02:13 +08:00 committed by David Sterba
parent bf60039cbe
commit d59e19ca07

View File

@ -2093,6 +2093,10 @@ static int fixup_devices(struct btrfs_fs_info *fs_info,
u64 devid, cur_devid;
int ret;
if (btrfs_super_log_root(fs_info->super_copy)) {
warning(
"log tree detected, its generation will not match superblock");
}
trans = btrfs_start_transaction(fs_info->tree_root, 1);
if (IS_ERR(trans)) {
error("cannot starting transaction %ld", PTR_ERR(trans));