mbox series

[0/2] Enhance btrfs_verify_dev_extents() to do more checks on dev extents

Message ID 20181005082525.22441-1-wqu@suse.com (mailing list archive)
Headers show
Series Enhance btrfs_verify_dev_extents() to do more checks on dev extents | expand

Message

Qu Wenruo Oct. 5, 2018, 8:25 a.m. UTC
Inspired by Hans' possible flawed DUP chunk allocator, add the following
dev extents checker:

1) Dev extent overlap check
   Dev extents don't use extent_cache so it can't report dev extents
   overlap.
   So manually check dev extents overlap.
   This check is pretty simple since we're already iterating dev extents
   by its physical offset, we only need to remember previous checked dev
   extents to do such check.

2) Dev extent end check
   No dev extent should go beyond device boundary.

These two checks are pretty cheap so it shouldn't bring any performance
overhead.

Qu Wenruo (2):
  btrfs: volumes: Make sure there is no overlap dev extents at mount
    time
  btrfs: volumes: Make sure no dev extent is beyond device boundary

 fs/btrfs/volumes.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)