diff options
author | Hu hui <b29976@freescale.com> | 2010-10-20 09:49:47 +0800 |
---|---|---|
committer | Hu Hui <b29976@freescale.com> | 2010-10-20 09:49:47 +0800 |
commit | 3b8fbe38e20c758f8ecebb80cb00142fe84bc680 (patch) | |
tree | 75227ebe735825fca5eb22582435cb2fee7fac8b | |
parent | e492e72693de1fbec348f3f46f0bb8241f70428d (diff) |
ENGR00132493 RAMDISK: doing write barrier will return -EIO
when doing write barrier, the data of the bio is NULL, it's OK for ramdisk
doing nothing, So the result of the bio must be success.
Signed-off-by: Hu Hui <b29976@freescale.com>
-rw-r--r-- | drivers/block/brd.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/block/brd.c b/drivers/block/brd.c index f1bf79d9bc0a..bcb50e84cf4b 100644 --- a/drivers/block/brd.c +++ b/drivers/block/brd.c @@ -333,13 +333,14 @@ static int brd_make_request(struct request_queue *q, struct bio *bio) struct bio_vec *bvec; sector_t sector; int i; - int err = -EIO; + int err = 0; sector = bio->bi_sector; if (sector + (bio->bi_size >> SECTOR_SHIFT) > - get_capacity(bdev->bd_disk)) + get_capacity(bdev->bd_disk)) { + err = -EIO; goto out; - + } if (unlikely(bio_rw_flagged(bio, BIO_RW_DISCARD))) { err = 0; discard_from_brd(brd, sector, bio->bi_size); |