summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorHu hui <b29976@freescale.com>2010-10-20 09:49:47 +0800
committerFrank Li <Frank.Li@freescale.com>2011-04-01 11:33:44 +0800
commit7ccf97a389ba11fe79519576b8c8579e9e041fef (patch)
treee518fec871caf5654ba1860d30fd504f994b284b /drivers/block
parent51265bfba020aa7f89e942c1f15e4f67cd788d14 (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>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/brd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index b7f51e4594f8..8d4964cf7884 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -335,12 +335,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->bi_rw & REQ_DISCARD)) {
err = 0;