btrfs: unify to use writer locks for subpage locking
authorQu Wenruo <wqu@suse.com>
Wed, 9 Oct 2024 05:51:06 +0000 (16:21 +1030)
committerDavid Sterba <dsterba@suse.com>
Mon, 11 Nov 2024 13:34:18 +0000 (14:34 +0100)
commit336e69f3025fb70db9d0dfb7f36ac79887bf5341
treeb7e2f312a9d6df6c5167700d4719fc37f222ec8b
parent8511074c42b6255e03eceb09396338572572f1c7
btrfs: unify to use writer locks for subpage locking

Since commit d7172f52e993 ("btrfs: use per-buffer locking for
extent_buffer reading"), metadata read no longer relies on the subpage
reader locking.

This means we do not need to maintain a different metadata/data split
for locking, so we can convert the existing reader lock users by:

- add_ra_bio_pages()
  Convert to btrfs_folio_set_writer_lock()

- end_folio_read()
  Convert to btrfs_folio_end_writer_lock()

- begin_folio_read()
  Convert to btrfs_folio_set_writer_lock()

- folio_range_has_eb()
  Remove the subpage->readers checks, since it is always 0.

- Remove btrfs_subpage_start_reader() and btrfs_subpage_end_reader()

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/compression.c
fs/btrfs/extent_io.c
fs/btrfs/subpage.c
fs/btrfs/subpage.h