From 657dc191fa0e663abd266eff56309005e769d448 Mon Sep 17 00:00:00 2001 From: Dmitry Monakhov Date: Fri, 6 Aug 2010 13:23:25 +0200 Subject: [PATCH] --- yaml --- r: 208353 b: refs/heads/master c: 18edc8eaa68070771bdb2098260e44efe74de722 h: refs/heads/master i: 208351: 847c1bffdcc5c4eb879c48fa5e7d6855e040b1e7 v: v3 --- [refs] | 2 +- trunk/block/blk-lib.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5c881702a739..bcda02b6a62c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3383977fadc4027f20907f6208a9033cd043adab +refs/heads/master: 18edc8eaa68070771bdb2098260e44efe74de722 diff --git a/trunk/block/blk-lib.c b/trunk/block/blk-lib.c index 5d793e143f3c..c1fc55a83ba1 100644 --- a/trunk/block/blk-lib.c +++ b/trunk/block/blk-lib.c @@ -145,7 +145,7 @@ static void bio_batch_end_io(struct bio *bio, int err) int blkdev_issue_zeroout(struct block_device *bdev, sector_t sector, sector_t nr_sects, gfp_t gfp_mask, unsigned long flags) { - int ret = 0; + int ret; struct bio *bio; struct bio_batch bb; unsigned int sz, issued = 0; @@ -163,11 +163,14 @@ int blkdev_issue_zeroout(struct block_device *bdev, sector_t sector, return ret; } submit: + ret = 0; while (nr_sects != 0) { bio = bio_alloc(gfp_mask, min(nr_sects, (sector_t)BIO_MAX_PAGES)); - if (!bio) + if (!bio) { + ret = -ENOMEM; break; + } bio->bi_sector = sector; bio->bi_bdev = bdev; @@ -186,6 +189,7 @@ int blkdev_issue_zeroout(struct block_device *bdev, sector_t sector, if (ret < (sz << 9)) break; } + ret = 0; issued++; submit_bio(WRITE, bio); }