Skip to content

Commit

Permalink
[BLOCK] Don't allow empty barriers to be passed down to queues that d…
Browse files Browse the repository at this point in the history
…on't grok them

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
  • Loading branch information
Jens Axboe committed Nov 2, 2007
1 parent 5ec140e commit 51fd77b
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion block/ll_rw_blk.c
Original file line number Diff line number Diff line change
Expand Up @@ -3221,6 +3221,7 @@ static inline void __generic_make_request(struct bio *bio)
sector_t old_sector;
int ret, nr_sectors = bio_sectors(bio);
dev_t old_dev;
int err = -EIO;

might_sleep();

Expand Down Expand Up @@ -3248,7 +3249,7 @@ static inline void __generic_make_request(struct bio *bio)
bdevname(bio->bi_bdev, b),
(long long) bio->bi_sector);
end_io:
bio_endio(bio, -EIO);
bio_endio(bio, err);
break;
}

Expand Down Expand Up @@ -3283,6 +3284,10 @@ static inline void __generic_make_request(struct bio *bio)

if (bio_check_eod(bio, nr_sectors))
goto end_io;
if (bio_empty_barrier(bio) && !q->prepare_flush_fn) {
err = -EOPNOTSUPP;
goto end_io;
}

ret = q->make_request_fn(q, bio);
} while (ret);
Expand Down

0 comments on commit 51fd77b

Please sign in to comment.