From 93723095b5d54b923abf07459998bcb9bbac8ba6 Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Tue, 1 Nov 2022 19:16:09 +0800 Subject: 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 Signed-off-by: David Sterba --- fs/btrfs/raid56.h | 5 ----- 1 file changed, 5 deletions(-) (limited to 'fs/btrfs/raid56.h') 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 -- cgit v1.2.3-73-gaa49b