Message ID | 20200811114451.28862-3-wqu@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs-progs: check: add the ability to repair extent item generation corruption | expand |
diff --git a/check/main.c b/check/main.c index f93bd7d4ca70..72fa28ad216a 100644 --- a/check/main.c +++ b/check/main.c @@ -4440,7 +4440,8 @@ static int check_block(struct btrfs_root *root, if (!cache) return 1; rec = container_of(cache, struct extent_record, cache); - rec->generation = btrfs_header_generation(buf); + if (rec->generation < btrfs_header_generation(buf)) + rec->generation = btrfs_header_generation(buf); level = btrfs_header_level(buf); if (btrfs_header_nritems(buf) > 0) {
In check_block(), we unconditionally reset extent_record::generation. This is in fact pretty correct, but this makes original mode fail to detect bad extent item geneartion. So change to behavior to set the geneartion if and only if the tree block generation is higher. Signed-off-by: Qu Wenruo <wqu@suse.com> --- check/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)