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 4/6] Handle possible bio_alloc failure in jfs
Date
Handle bio_alloc failure in jfs.

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

---

Index: linux-2.6/fs/jfs/jfs_logmgr.c
===================================================================
--- linux-2.6.orig/fs/jfs/jfs_logmgr.c
+++ linux-2.6/fs/jfs/jfs_logmgr.c
@@ -2003,6 +2003,8 @@ static int lbmRead(struct jfs_log * log,
bp->l_flag |= lbmREAD;

bio = bio_alloc(GFP_NOFS, 1);
+ if (unlikely(!bio))
+ return -ENOMEM;

bio->bi_sector = bp->l_blkno << (log->l2bsize - 9);
bio->bi_bdev = log->bdev;
@@ -2145,6 +2147,9 @@ static void lbmStartIO(struct lbuf * bp)
jfs_info("lbmStartIO\n");

bio = bio_alloc(GFP_NOFS, 1);
+ if (unlikely(!bio))
+ panic("Unable to allocate bio\n");
+
bio->bi_sector = bp->l_blkno << (log->l2bsize - 9);
bio->bi_bdev = log->bdev;
bio->bi_io_vec[0].bv_page = bp->l_page;
Index: linux-2.6/fs/jfs/jfs_metapage.c
===================================================================
--- linux-2.6.orig/fs/jfs/jfs_metapage.c
+++ linux-2.6/fs/jfs/jfs_metapage.c
@@ -436,6 +436,9 @@ static int metapage_writepage(struct pag
len = min(xlen, (int)JFS_SBI(inode->i_sb)->nbperpage);

bio = bio_alloc(GFP_NOFS, 1);
+ if (unlikely(!bio))
+ return -ENOMEM;
+
bio->bi_bdev = inode->i_sb->s_bdev;
bio->bi_sector = pblock << (inode->i_blkbits - 9);
bio->bi_end_io = metapage_write_end_io;
@@ -515,6 +518,9 @@ static int metapage_readpage(struct file
submit_bio(READ, bio);

bio = bio_alloc(GFP_NOFS, 1);
+ if (unlikely(!bio))
+ return -ENOMEM;
+
bio->bi_bdev = inode->i_sb->s_bdev;
bio->bi_sector = pblock << (inode->i_blkbits - 9);
bio->bi_end_io = metapage_read_end_io;



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