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)
commit53f3251d3b82f70c762cb7d963d70fb65f49e22c
tree08e0bc562bc935000517a17de929fabfeaeb28a9
parentd0a7a9c050f3d0e11626ee5b3cebb0e4388ffce6
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