Linux Btrfs filesystem development
 help / color / mirror / Atom feed
* btrfs I/O completion cleanup and single device I/O optimizations
@ 2022-07-04  8:43 Christoph Hellwig
  2022-07-04  8:44 ` [PATCH 1/7] btrfs: don't call bioset_integrity_create for btrfs_bioset Christoph Hellwig
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: Christoph Hellwig @ 2022-07-04  8:43 UTC (permalink / raw)
  To: Chris Mason, Josef Bacik, David Sterba; +Cc: linux-btrfs

Hi all,

this series cleans up the btrfs_bio API, most prominently by splitting
the end_io handler for the highlevel bio from the low-level bio
bi_end_io, which are really confusingly coupled in the current code.
Once that is done it then optimizes the bio submission to not allocate
a btrfs_io_context for I/Os tht just go to a single device.

This series sits on top of the "fix read repair on compressed extents v2"
series submitted.  To make everyones life easier a git tree is also
available:

    git://git.infradead.org/users/hch/misc.git btrfs-bio-api-cleanup

Gitweb:

    http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/btrfs-bio-api-cleanup

Diffstat:
 compression.c    |   50 +++-----
 disk-io.c        |   16 +-
 extent-io-tree.h |    4 
 extent_io.c      |  117 +++----------------
 extent_io.h      |    3 
 inode.c          |   57 ++++-----
 raid56.c         |   45 +------
 raid56.h         |    4 
 scrub.c          |    7 -
 super.c          |    6 -
 volumes.c        |  330 ++++++++++++++++++++++++++++++++++++++-----------------
 volumes.h        |   19 ++-
 12 files changed, 343 insertions(+), 315 deletions(-)

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-07-12 14:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-04  8:43 btrfs I/O completion cleanup and single device I/O optimizations Christoph Hellwig
2022-07-04  8:44 ` [PATCH 1/7] btrfs: don't call bioset_integrity_create for btrfs_bioset Christoph Hellwig
2022-07-06  6:48   ` Johannes Thumshirn
2022-07-04  8:44 ` [PATCH 2/7] btrfs: move btrfs_bio allocation to volumes.c Christoph Hellwig
2022-07-06  7:03   ` Johannes Thumshirn
2022-07-04  8:44 ` [PATCH 3/7] btrfs: pass the operation to btrfs_bio_alloc Christoph Hellwig
2022-07-06  6:48   ` Johannes Thumshirn
2022-07-04  8:44 ` [PATCH 4/7] btrfs: properly abstract the parity raid bio handling Christoph Hellwig
2022-07-06  7:07   ` Johannes Thumshirn
2022-07-04  8:44 ` [PATCH 5/7] btrfs: give struct btrfs_bio a real end_io handler Christoph Hellwig
2022-07-04  8:44 ` [PATCH 6/7] btrfs: split out the end_io handler for cloned bios Christoph Hellwig
2022-07-06  6:49   ` Johannes Thumshirn
2022-07-04  8:44 ` [PATCH 7/7] btrfs: stop allocation a btrfs_io_context for simple I/O Christoph Hellwig
2022-07-06 17:07   ` Johannes Thumshirn
2022-07-12  9:28   ` Nikolay Borisov
2022-07-12  9:31     ` Christoph Hellwig
2022-07-07 12:20 ` btrfs I/O completion cleanup and single device I/O optimizations Johannes Thumshirn
2022-07-12 14:22 ` Nikolay Borisov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox