public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ext4: Use superblock s_raid_stripe_width as stripe size during block allocation.
@ 2008-01-09 17:07 Aneesh Kumar K.V
  2008-01-09 17:07 ` [PATCH] ext4: Check for return value from sb_set_blocksize Aneesh Kumar K.V
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Aneesh Kumar K.V @ 2008-01-09 17:07 UTC (permalink / raw)
  To: cmm, tytso, adilger; +Cc: linux-ext4, Aneesh Kumar K.V

The stipe size used during block allocation is calculated as below.
a) if we specify a stripe=<value> option using mount time. Use that value.
b) if not use the value specified in super block.
b) If the value specfied at mount time is greater than blocks per group use
the value specified ini the super block.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
---
 fs/ext4/super.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index db1edc8..10330eb 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -2136,6 +2136,16 @@ static int ext4_fill_super (struct super_block *sb, void *data, int silent)
 	sbi->s_rsv_window_head.rsv_alloc_hit = 0;
 	sbi->s_rsv_window_head.rsv_goal_size = 0;
 	ext4_rsv_window_add(sb, &sbi->s_rsv_window_head);
+	/*
+	 * set the stripe size. If we have specified it via mount option, then
+	 * use the mount option value. If the value specified at mount time is
+	 * greater than the blocks per group use the super block value.
+	 * Allocator needs it be less than blocks per group.
+	 */
+	if (!sbi->s_stripe ||
+			sbi->s_stripe >= sbi->s_blocks_per_group) {
+		sbi->s_stripe = le32_to_cpu(es->s_raid_stripe_width);
+	}
 
 	/*
 	 * set up enough so that it can read an inode
-- 
1.5.4.rc2.60.gb2e62-dirty

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-01-10  8:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-09 17:07 [PATCH] ext4: Use superblock s_raid_stripe_width as stripe size during block allocation Aneesh Kumar K.V
2008-01-09 17:07 ` [PATCH] ext4: Check for return value from sb_set_blocksize Aneesh Kumar K.V
2008-01-09 18:21   ` Aneesh Kumar K.V
2008-01-09 17:21 ` [PATCH] ext4: Use superblock s_raid_stripe_width as stripe size during block allocation Eric Sandeen
2008-01-09 22:02 ` Mingming Cao
2008-01-09 23:36 ` Andreas Dilger
2008-01-10  4:28   ` Aneesh Kumar K.V
2008-01-10  8:22     ` Andreas Dilger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox