login
Header Space

 
 

[RFC 2/2] JBD: blocks reservation fix for large block support

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: ext4 development <linux-ext4@...>
Cc: <adilger@...>, <sho@...>, <linux-kernel@...>, <clameter@...>, <linux-fsdevel@...>
Date: Friday, August 31, 2007 - 8:12 pm

The blocks per page could be less or quals to 1 with the large block support in VM.
The patch fixed the way to calculate the number of blocks to reserve in journal in the
case blocksize > pagesize.



Signed-off-by: Mingming Cao <cmm@us.ibm.com>

Index: my2.6/fs/jbd/journal.c
===================================================================
--- my2.6.orig/fs/jbd/journal.c	2007-08-31 13:27:16.000000000 -0700
+++ my2.6/fs/jbd/journal.c	2007-08-31 13:28:18.000000000 -0700
@@ -1611,7 +1611,12 @@ void journal_ack_err(journal_t *journal)
 
 int journal_blocks_per_page(struct inode *inode)
 {
-	return 1 << (PAGE_CACHE_SHIFT - inode->i_sb->s_blocksize_bits);
+	int bits = PAGE_CACHE_SHIFT - inode->i_sb->s_blocksize_bits;
+
+	if (bits > 0)
+		return 1 << bits;
+	else
+		return 1;
 }
 
 /*
Index: my2.6/fs/jbd2/journal.c
===================================================================
--- my2.6.orig/fs/jbd2/journal.c	2007-08-31 13:32:21.000000000 -0700
+++ my2.6/fs/jbd2/journal.c	2007-08-31 13:32:30.000000000 -0700
@@ -1612,7 +1612,12 @@ void jbd2_journal_ack_err(journal_t *jou
 
 int jbd2_journal_blocks_per_page(struct inode *inode)
 {
-	return 1 << (PAGE_CACHE_SHIFT - inode->i_sb->s_blocksize_bits);
+	int bits = PAGE_CACHE_SHIFT - inode->i_sb->s_blocksize_bits;
+
+	if (bits > 0)
+		return 1 << bits;
+	else
+		return 1;
 }
 
 /*


-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[31/36] Large Blocksize: Core piece, , (Tue Aug 28, 3:06 pm)
Re: [31/36] Large Blocksize: Core piece, Mingming Cao, (Wed Aug 29, 8:11 pm)
Re: [31/36] Large Blocksize: Core piece, Christoph Lameter, (Wed Aug 29, 8:12 pm)
[RFC 1/4] Large Blocksize support for Ext2/3/4, Mingming Cao, (Wed Aug 29, 8:47 pm)
Re: [PATCH 2/2] ext2: Avoid rec_len overflow with 64KB block..., Christoph Lameter, (Thu Oct 18, 5:03 am)
Re: [RFC 1/4] Large Blocksize support for Ext2/3/4, Christoph Lameter, (Wed Aug 29, 8:59 pm)
[RFC 2/2] JBD: blocks reservation fix for large block support, Mingming Cao, (Fri Aug 31, 8:12 pm)
Re: [RFC 1/2] JBD: slab management support for large block(&..., Christoph Hellwig, (Sun Sep 2, 11:28 am)
[PATCH] JBD slab cleanups, Mingming Cao, (Fri Sep 14, 2:53 pm)
Re: [PATCH] JBD slab cleanups, Mingming Cao, (Mon Sep 17, 3:29 pm)
Re: [PATCH] JBD slab cleanups, Badari Pulavarty, (Mon Sep 17, 6:01 pm)
Re: [PATCH] JBD slab cleanups, Mingming Cao, (Mon Sep 17, 6:57 pm)
Re: [PATCH] JBD slab cleanups, Christoph Hellwig, (Tue Sep 18, 5:04 am)
Re: [PATCH] JBD slab cleanups, Mingming Cao, (Tue Sep 18, 12:35 pm)
Re: [PATCH] JBD slab cleanups, Dave Kleikamp, (Tue Sep 18, 2:04 pm)
Re: [PATCH] JBD slab cleanups, Mingming Cao, (Tue Sep 18, 9:00 pm)
Re: [PATCH] JBD slab cleanups, Andrew Morton, (Tue Sep 18, 10:19 pm)
Re: [PATCH] JBD slab cleanups, Mingming Cao, (Wed Sep 19, 3:15 pm)
Re: [PATCH] JBD slab cleanups, Andreas Dilger, (Wed Sep 19, 3:48 pm)
Re: [PATCH] JBD slab cleanups, Mingming Cao, (Wed Sep 19, 6:03 pm)
[PATCH] JBD/ext34 cleanups: convert to kzalloc, Mingming Cao, (Fri Sep 21, 7:13 pm)
Re: [PATCH] JBD/ext34 cleanups: convert to kzalloc, Andrew Morton, (Wed Sep 26, 3:54 pm)
Re: [PATCH] JBD/ext34 cleanups: convert to kzalloc, Mingming Cao, (Wed Sep 26, 5:05 pm)
[PATCH] JBD2/ext4 naming cleanup, Mingming Cao, (Fri Sep 21, 7:32 pm)
Re: [PATCH] JBD slab cleanups, Dave Kleikamp, (Wed Sep 19, 3:26 pm)
Re: [PATCH] JBD slab cleanups, Dave Kleikamp, (Wed Sep 19, 3:28 pm)
Re: [PATCH] JBD slab cleanups, Mingming Cao, (Wed Sep 19, 4:47 pm)
[PATCH] JBD: use GFP_NOFS in kmalloc, Mingming Cao, (Wed Sep 19, 3:22 pm)
Re: [PATCH] JBD: use GFP_NOFS in kmalloc, Andreas Dilger, (Thu Sep 20, 12:25 am)
Re: [PATCH] JBD: use GFP_NOFS in kmalloc, Andrew Morton, (Wed Sep 19, 5:34 pm)
Re: [PATCH] JBD: use GFP_NOFS in kmalloc, Mingming Cao, (Wed Sep 19, 5:55 pm)
Re: [PATCH] JBD slab cleanups, Christoph Hellwig, (Mon Sep 17, 3:34 pm)
Re: [PATCH] JBD slab cleanups, Christoph Lameter, (Fri Sep 14, 2:58 pm)
Re: [RFC 1/4] Large Blocksize support for Ext2/3/4, Mingming Cao, (Fri Aug 31, 8:01 pm)
speck-geostationary