summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHu hui <b29976@freescale.com>2010-10-20 09:49:47 +0800
committerHu Hui <b29976@freescale.com>2010-10-20 09:49:47 +0800
commit3b8fbe38e20c758f8ecebb80cb00142fe84bc680 (patch)
tree75227ebe735825fca5eb22582435cb2fee7fac8b
parente492e72693de1fbec348f3f46f0bb8241f70428d (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.c7
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);