Btrfs: fix crash in log replay with qgroups enabled
When replaying a log tree with qgroups enabled, tree_mod_log_rewind does a sanity-check of the number of items against the maximum possible number. It calculates that number with the nodesize of fs_root. Unfortunately fs_root is not yet set at this stage. So instead use the nodesize from tree_root, which is already initialized. Signed-off-by: Arne Jansen <sensille@gmx.net> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
Родитель
1a65e24b0b
Коммит
2a745b14bc
|
@ -1222,7 +1222,7 @@ tree_mod_log_rewind(struct btrfs_fs_info *fs_info, struct extent_buffer *eb,
|
||||||
|
|
||||||
__tree_mod_log_rewind(eb_rewin, time_seq, tm);
|
__tree_mod_log_rewind(eb_rewin, time_seq, tm);
|
||||||
WARN_ON(btrfs_header_nritems(eb_rewin) >
|
WARN_ON(btrfs_header_nritems(eb_rewin) >
|
||||||
BTRFS_NODEPTRS_PER_BLOCK(fs_info->fs_root));
|
BTRFS_NODEPTRS_PER_BLOCK(fs_info->tree_root));
|
||||||
|
|
||||||
return eb_rewin;
|
return eb_rewin;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче