Commit 7e812f20 authored by Anand Jain's avatar Anand Jain Committed by David Sterba

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: default avatarAnand Jain <anand.jain@oracle.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 1b465784
...@@ -4122,10 +4122,9 @@ static bool wait_dev_flush(struct btrfs_device *device) ...@@ -4122,10 +4122,9 @@ static bool wait_dev_flush(struct btrfs_device *device)
{ {
struct bio *bio = &device->flush_bio; 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; return false;
clear_bit(BTRFS_DEV_STATE_FLUSH_SENT, &device->dev_state);
wait_for_completion_io(&device->flush_wait); wait_for_completion_io(&device->flush_wait);
if (bio->bi_status) { if (bio->bi_status) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment