diff options
Diffstat (limited to 'fs/btrfs/dev-replace.c')
-rw-r--r-- | fs/btrfs/dev-replace.c | 12 |
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 | ||
1003 | void btrfs_dev_replace_read_lock(struct btrfs_dev_replace *dev_replace) | 1003 | void 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 | ||
1008 | void btrfs_dev_replace_read_unlock(struct btrfs_dev_replace *dev_replace) | 1008 | void 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 | ||
1013 | void btrfs_dev_replace_write_lock(struct btrfs_dev_replace *dev_replace) | 1013 | void 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) | |||
1015 | again: | 1015 | again: |
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 | ||
1025 | void btrfs_dev_replace_write_unlock(struct btrfs_dev_replace *dev_replace) | 1025 | void 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 | ||
1039 | void btrfs_bio_counter_inc_noblocked(struct btrfs_fs_info *fs_info) | 1039 | void btrfs_bio_counter_inc_noblocked(struct btrfs_fs_info *fs_info) |