]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: defer I/O completion based on the btrfs_raid_bio
authorChristoph Hellwig <hch@lst.de>
Thu, 26 May 2022 07:36:36 +0000 (09:36 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 Jul 2022 15:45:33 +0000 (17:45 +0200)
commit48f3a5f035b741f5713ee196c334a072e906ab92
treeaf2ad6021df114983c803b53583755f1c32aadda
parent17e7aa06ae580539d72a18f55365deafa7dc65d9
btrfs: defer I/O completion based on the btrfs_raid_bio

Instead of attaching an extra allocation an indirect call to each
low-level bio issued by the RAID code, add a work_struct to struct
btrfs_raid_bio and only defer the per-rbio completion action.  The
per-bio action for all the I/Os are trivial and can be safely done
from interrupt context.

As a nice side effect this also allows sharing the boilerplate code
for the per-bio completions

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h
fs/btrfs/disk-io.c
fs/btrfs/disk-io.h
fs/btrfs/raid56.c
fs/btrfs/raid56.h