diff options
Diffstat (limited to 'fs/btrfs/dev-replace.c')
| -rw-r--r-- | fs/btrfs/dev-replace.c | 13 | 
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c index 92109b7c865c..5ec03d999c37 100644 --- a/fs/btrfs/dev-replace.c +++ b/fs/btrfs/dev-replace.c @@ -440,18 +440,9 @@ leave:   */  static void btrfs_rm_dev_replace_blocked(struct btrfs_fs_info *fs_info)  { -	s64 writers; -	DEFINE_WAIT(wait); -  	set_bit(BTRFS_FS_STATE_DEV_REPLACING, &fs_info->fs_state); -	do { -		prepare_to_wait(&fs_info->replace_wait, &wait, -				TASK_UNINTERRUPTIBLE); -		writers = percpu_counter_sum(&fs_info->bio_counter); -		if (writers) -			schedule(); -		finish_wait(&fs_info->replace_wait, &wait); -	} while (writers); +	wait_event(fs_info->replace_wait, !percpu_counter_sum( +		   &fs_info->bio_counter));  }  /*  |