block: remove BIO_EOPNOTSUPP
Since the big barrier rewrite/removal in 2007 we never fail FLUSH or FUA requests, which means we can remove the magic BIO_EOPNOTSUPP flag to help propagating those to the buffer_head layer. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jeff Moyer <jmoyer@redhat.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:

committed by
Jens Axboe

parent
4ecd4fef3a
commit
b25de9d6da
@@ -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);
|
||||
|
@@ -2767,8 +2767,6 @@ static int __must_check submit_one_bio(int rw, struct bio *bio,
|
||||
else
|
||||
btrfsic_submit_bio(rw, bio);
|
||||
|
||||
if (bio_flagged(bio, BIO_EOPNOTSUPP))
|
||||
ret = -EOPNOTSUPP;
|
||||
bio_put(bio);
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user