Handle bio_alloc failure in jfs.

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

---

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;



------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Jfs-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jfs-discussion

Reply via email to