|
@@ -3269,11 +3269,8 @@ static int write_dev_supers(struct btrfs_device *device,
|
|
|
*/
|
|
|
static void btrfs_end_empty_barrier(struct bio *bio, int err)
|
|
|
{
|
|
|
- if (err) {
|
|
|
- if (err == -EOPNOTSUPP)
|
|
|
- set_bit(BIO_EOPNOTSUPP, &bio->bi_flags);
|
|
|
+ if (err)
|
|
|
clear_bit(BIO_UPTODATE, &bio->bi_flags);
|
|
|
- }
|
|
|
if (bio->bi_private)
|
|
|
complete(bio->bi_private);
|
|
|
bio_put(bio);
|
|
@@ -3301,11 +3298,7 @@ static int write_dev_flush(struct btrfs_device *device, int wait)
|
|
|
|
|
|
wait_for_completion(&device->flush_wait);
|
|
|
|
|
|
- if (bio_flagged(bio, BIO_EOPNOTSUPP)) {
|
|
|
- printk_in_rcu("BTRFS: disabling barriers on dev %s\n",
|
|
|
- rcu_str_deref(device->name));
|
|
|
- device->nobarriers = 1;
|
|
|
- } else if (!bio_flagged(bio, BIO_UPTODATE)) {
|
|
|
+ if (!bio_flagged(bio, BIO_UPTODATE)) {
|
|
|
ret = -EIO;
|
|
|
btrfs_dev_stat_inc_and_print(device,
|
|
|
BTRFS_DEV_STAT_FLUSH_ERRS);
|