mbox series

[0/6] btrfs: sector size < page size enhancement

Message ID cover.1730269807.git.wqu@suse.com (mailing list archive)
Headers show
Series btrfs: sector size < page size enhancement | expand

Message

Qu Wenruo Oct. 30, 2024, 6:33 a.m. UTC
This series contains several sector size < page size fixes and
optimization:

- Pass generic/563 with 4k sector size and 16K/64K page size
  The last patch.

  The test case is a special cgroup one, which requires the fs to avoid
  reading the whole folio as long as the buffered write range is btrfs
  sector aligned.

- Fix generic/750 failure with 4K sector size and 16K/64K page size
  It's a double ordered extent accounting for sector size < page size
  cases.
  The first patch.

The remaining are all preparations for the above goals.

It's now rebased to the latest misc-next branch.

Qu Wenruo (6):
  btrfs: fix double accounting of ordered extents during errors
  btrfs: extract the inner loop of cow_file_range() to enhance the error
    handling
  btrfs: use FGP_STABLE to wait for folio writeback
  btrfs: make btrfs_do_readpage() to do block-by-block read
  btrfs: avoid deadlock when reading a partial uptodate folio
  btrfs: allow buffered write to skip full page if it's sector aligned

 fs/btrfs/defrag.c       |   6 +-
 fs/btrfs/direct-io.c    |   2 +-
 fs/btrfs/extent_io.c    |  85 ++++++----
 fs/btrfs/file.c         |  13 +-
 fs/btrfs/inode.c        | 347 ++++++++++++++++++++--------------------
 fs/btrfs/ordered-data.c |  67 +++++++-
 fs/btrfs/ordered-data.h |   8 +-
 7 files changed, 306 insertions(+), 222 deletions(-)