diff options
author | Qu Wenruo <wqu@suse.com> | 2022-11-01 12:16:09 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-12-05 18:00:49 +0100 |
commit | 93723095b5d54b923abf07459998bcb9bbac8ba6 (patch) | |
tree | 6bbbb1caf1ccf72dba355ef84bfd3a16eb34a5ed /fs/btrfs/raid56.h | |
parent | btrfs: raid56: introduce the main entrance for RMW path (diff) | |
download | linux-93723095b5d54b923abf07459998bcb9bbac8ba6.tar.xz linux-93723095b5d54b923abf07459998bcb9bbac8ba6.zip |
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 <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/raid56.h')
-rw-r--r-- | fs/btrfs/raid56.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/fs/btrfs/raid56.h b/fs/btrfs/raid56.h index 0e77c77c5dba..445e833fcfcf 100644 --- a/fs/btrfs/raid56.h +++ b/fs/btrfs/raid56.h @@ -185,9 +185,4 @@ void raid56_submit_missing_rbio(struct btrfs_raid_bio *rbio); int btrfs_alloc_stripe_hash_table(struct btrfs_fs_info *info); void btrfs_free_stripe_hash_table(struct btrfs_fs_info *info); -/* - * Placeholder definition to avoid warning, will be removed when - * the full write path is migrated. - */ -int rmw_rbio(struct btrfs_raid_bio *rbio); #endif |