lkml.org 
[lkml]   [2009]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 1/6] Handle possible bio_alloc failure in md
Date
Handle possible bio_alloc failure in md.

Signed-off-by: Nikanth Karthikesan <knikanth@suse.de>

---


Index: linux-2.6/drivers/md/md.c
===================================================================
--- linux-2.6.orig/drivers/md/md.c
+++ linux-2.6/drivers/md/md.c
@@ -532,6 +532,9 @@ void md_super_write(mddev_t *mddev, mdk_
struct bio *bio = bio_alloc(GFP_NOIO, 1);
int rw = (1<<BIO_RW) | (1<<BIO_RW_SYNCIO) | (1<<BIO_RW_UNPLUG);

+ if (unlikely(!bio))
+ md_error(rdev->mddev, rdev);
+
bio->bi_bdev = rdev->bdev;
bio->bi_sector = sector;
bio_add_page(bio, page, size, 0);
@@ -587,6 +590,9 @@ int sync_page_io(struct block_device *bd
struct completion event;
int ret;

+ if (unlikely(!bio))
+ return 0;
+
rw |= (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG);

bio->bi_bdev = bdev;



\
 
 \ /
  Last update: 2009-04-14 13:13    [W:0.027 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site