]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: scrub: move logical/physical/dev/mirror_num from scrub_sector to scrub_block
authorQu Wenruo <wqu@suse.com>
Mon, 8 Aug 2022 05:45:42 +0000 (13:45 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 26 Sep 2022 10:27:55 +0000 (12:27 +0200)
commit5cd8e20fa9e77e45297f22c8d436803f761fad65
tree133cf67ae697bc5bb39021e4c98231edcef80f18
parentc752c058daf6aff02dfa8c4f8d2d0ebf9ec71e35
btrfs: scrub: move logical/physical/dev/mirror_num from scrub_sector to scrub_block

Currently we store the following members in scrub_sector:

- logical
- physical
- physical_for_dev_replace
- dev
- mirror_num

However the current scrub code has ensured that scrub_blocks never cross
stripe boundary.
This is caused by the entry functions (scrub_simple_mirror,
scrub_simple_stripe), thus every scrub_block will not cross stripe
boundary.

Thus this makes it possible to move those members into scrub_block other
than putting them into scrub_sector.

This should save quite some memory, as a scrub_block can be as large as 64
sectors, even for metadata it's 16 sectors byte default.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/scrub.c