2009-04-14 11:11:48

by Nikanth Karthikesan

[permalink] [raw]
Subject: [PATCH 5/6] Handle possible bio_alloc failure in xfs

Handle bio_alloc failure in xfs.

Signed-off-by: Nikanth Karthikesan <[email protected]>

---

Index: linux-2.6/fs/xfs/linux-2.6/xfs_buf.c
===================================================================
--- linux-2.6.orig/fs/xfs/linux-2.6/xfs_buf.c
+++ linux-2.6/fs/xfs/linux-2.6/xfs_buf.c
@@ -1196,6 +1196,8 @@ _xfs_buf_ioapply(
(XBF_READ|_XBF_PAGE_LOCKED)) &&
(blocksize >= PAGE_CACHE_SIZE)) {
bio = bio_alloc(GFP_NOIO, 1);
+ if (unlikely(!bio))
+ goto out_enomem;

bio->bi_bdev = bp->b_target->bt_bdev;
bio->bi_sector = sector - (offset >> BBSHIFT);
@@ -1217,6 +1219,9 @@ next_chunk:
nr_pages = total_nr_pages;

bio = bio_alloc(GFP_NOIO, nr_pages);
+ if (unlikely(!bio))
+ goto out_enomem;
+
bio->bi_bdev = bp->b_target->bt_bdev;
bio->bi_sector = sector;
bio->bi_end_io = xfs_buf_bio_end_io;
@@ -1247,6 +1252,11 @@ submit_io:
bio_put(bio);
xfs_buf_ioerror(bp, EIO);
}
+ return;
+
+out_enomem:
+ xfs_buf_ioerror(bp, ENOMEM);
+
}

int



2009-04-14 16:23:19

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH 5/6] Handle possible bio_alloc failure in xfs

On Tue, Apr 14, 2009 at 04:36:45PM +0530, Nikanth Karthikesan wrote:
> Handle bio_alloc failure in xfs.
>
> Signed-off-by: Nikanth Karthikesan <[email protected]>

NAK, as already explained by Jens.