]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: scrub: support subpage tree block scrub
authorQu Wenruo <wqu@suse.com>
Wed, 2 Dec 2020 06:48:09 +0000 (14:48 +0800)
committerDavid Sterba <dsterba@suse.com>
Wed, 9 Dec 2020 18:16:11 +0000 (19:16 +0100)
commitc5a9c91628b64d767f70b1f17f34d9ac35dd3575
tree08e0bc562bc935000517a17de929fabfeaeb28a9
parent08e27dbd203fac930e3b4827aae1af9f72f8205a
btrfs: scrub: support subpage tree block scrub

To support subpage tree block scrub, scrub_checksum_tree_block() only
needs to learn 2 new tricks:

- Follow sector size
  Now scrub_page only represents one sector, we need to follow it
  properly.

- Run checksum on all sectors
  Since scrub_page only represents one sector, we need to run checksum
  on all sectors, not only (nodesize >> PAGE_SIZE).

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