summaryrefslogtreecommitdiff
path: root/drivers/block/brd.c
diff options
context:
space:
mode:
authorHu hui <b29976@freescale.com>2010-10-20 09:49:47 +0800
committerJason Liu <r64343@freescale.com>2012-01-09 19:53:46 +0800
commita543312555ebb984edefe69252e8902b7f93c3d0 (patch)
tree497d23d78687f45018d1b70d5b91171876158391 /drivers/block/brd.c
parentac4b8f3cbb5628796a2a94fe73fba8360c077bd6 (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/brd.c')
-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 dba1c32e1ddf..1539aab03799 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -331,12 +331,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;