]> Git Repo - linux.git/commit - fs/btrfs/raid56.c
btrfs: raid56: switch write path to rmw_rbio()
authorQu Wenruo <[email protected]>
Tue, 1 Nov 2022 11:16:09 +0000 (19:16 +0800)
committerDavid Sterba <[email protected]>
Mon, 5 Dec 2022 17:00:49 +0000 (18:00 +0100)
commit93723095b5d54b923abf07459998bcb9bbac8ba6
tree6bbbb1caf1ccf72dba355ef84bfd3a16eb34a5ed
parent5eb30ee26fa4dbd2d31f50ee3b4212933f86cb57
btrfs: raid56: switch write path to rmw_rbio()

This includes the following changes:

- Implement new raid_unplug() functions
  Now we don't need a workqueue to run the plug, as all our
  work is just queue rmw_rbio_work() call, which can be executed
  without sleep.

- Implement a rmw_rbio_work_locked() helper
  This is for unlock_stripe(), which is already holding the full stripe
  lock.

- Remove all the old functions
  This should already shows how complex the old functions are, as we
  ended up removing the following functions:

  * rmw_work()
  * validate_rbio_for_rmw()
  * raid56_rmw_end_io_work()
  * raid56_rmw_stripe()
  * full_stripe_write()
  * partial_stripe_write()
  * __raid56_parity_write()
  * run_plug()
  * unplug_work()
  * btrfs_raid_unplug()
  * rmw_work()
  * __raid56_parity_recover()
  * raid_recover_end_io_work()

- Unexport rmw_rbio()

Signed-off-by: Qu Wenruo <[email protected]>
Signed-off-by: David Sterba <[email protected]>
fs/btrfs/raid56.c
fs/btrfs/raid56.h
This page took 0.059062 seconds and 4 git commands to generate.