btrfs: use test_and_clear_bit() in wait_dev_flush()
The function wait_dev_flush() tests for the BTRFS_DEV_STATE_FLUSH_SENT bit and then clears it separately. Instead, use test_and_clear_bit(). Though we don't need to do the atomic test and clear, it's following a common pattern. Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
1b465784dc
commit
7e812f2054
@ -4122,10 +4122,9 @@ static bool wait_dev_flush(struct btrfs_device *device)
|
||||
{
|
||||
struct bio *bio = &device->flush_bio;
|
||||
|
||||
if (!test_bit(BTRFS_DEV_STATE_FLUSH_SENT, &device->dev_state))
|
||||
if (!test_and_clear_bit(BTRFS_DEV_STATE_FLUSH_SENT, &device->dev_state))
|
||||
return false;
|
||||
|
||||
clear_bit(BTRFS_DEV_STATE_FLUSH_SENT, &device->dev_state);
|
||||
wait_for_completion_io(&device->flush_wait);
|
||||
|
||||
if (bio->bi_status) {
|
||||
|
Loading…
Reference in New Issue
Block a user