aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/dev-replace.c')
-rw-r--r--fs/btrfs/dev-replace.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index 3b272ff60fea..316a29278306 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -1002,12 +1002,12 @@ int btrfs_dev_replace_is_ongoing(struct btrfs_dev_replace *dev_replace)
1002 1002
1003void btrfs_dev_replace_read_lock(struct btrfs_dev_replace *dev_replace) 1003void btrfs_dev_replace_read_lock(struct btrfs_dev_replace *dev_replace)
1004{ 1004{
1005 read_lock(&dev_replace->lock); 1005 down_read(&dev_replace->rwsem);
1006} 1006}
1007 1007
1008void btrfs_dev_replace_read_unlock(struct btrfs_dev_replace *dev_replace) 1008void btrfs_dev_replace_read_unlock(struct btrfs_dev_replace *dev_replace)
1009{ 1009{
1010 read_unlock(&dev_replace->lock); 1010 up_read(&dev_replace->rwsem);
1011} 1011}
1012 1012
1013void btrfs_dev_replace_write_lock(struct btrfs_dev_replace *dev_replace) 1013void btrfs_dev_replace_write_lock(struct btrfs_dev_replace *dev_replace)
@@ -1015,16 +1015,16 @@ void btrfs_dev_replace_write_lock(struct btrfs_dev_replace *dev_replace)
1015again: 1015again:
1016 wait_event(dev_replace->read_lock_wq, 1016 wait_event(dev_replace->read_lock_wq,
1017 atomic_read(&dev_replace->blocking_readers) == 0); 1017 atomic_read(&dev_replace->blocking_readers) == 0);
1018 write_lock(&dev_replace->lock); 1018 down_write(&dev_replace->rwsem);
1019 if (atomic_read(&dev_replace->blocking_readers)) { 1019 if (atomic_read(&dev_replace->blocking_readers)) {
1020 write_unlock(&dev_replace->lock); 1020 up_write(&dev_replace->rwsem);
1021 goto again; 1021 goto again;
1022 } 1022 }
1023} 1023}
1024 1024
1025void btrfs_dev_replace_write_unlock(struct btrfs_dev_replace *dev_replace) 1025void btrfs_dev_replace_write_unlock(struct btrfs_dev_replace *dev_replace)
1026{ 1026{
1027 write_unlock(&dev_replace->lock); 1027 up_write(&dev_replace->rwsem);
1028} 1028}
1029 1029
1030/* inc blocking cnt and release read lock */ 1030/* inc blocking cnt and release read lock */
@@ -1033,7 +1033,7 @@ void btrfs_dev_replace_set_lock_blocking(
1033{ 1033{
1034 /* only set blocking for read lock */ 1034 /* only set blocking for read lock */
1035 atomic_inc(&dev_replace->blocking_readers); 1035 atomic_inc(&dev_replace->blocking_readers);
1036 read_unlock(&dev_replace->lock); 1036 up_read(&dev_replace->rwsem);
1037} 1037}
1038 1038
1039void btrfs_bio_counter_inc_noblocked(struct btrfs_fs_info *fs_info) 1039void btrfs_bio_counter_inc_noblocked(struct btrfs_fs_info *fs_info)