From 82365c4e934e52c0b91352100fbf7c66e8e6aea8 Mon Sep 17 00:00:00 2001 From: johann Date: Tue, 10 Nov 2009 19:57:24 +0000 Subject: [PATCH] Branch b1_8 b=21224 i=girish i=panda Export ext4_get_group_desc() instead of reimplementing it in fsfilt. Speed up quotacheck by using find_next_bit() and stopping scanning once we have know that no more inodes in-use remain. --- .../patches/export-ext4-2.6-rhel5.patch | 32 +++++++++++++++------- .../patches/export-ext4-2.6-sles11.patch | 12 ++++++++ 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/ldiskfs/kernel_patches/patches/export-ext4-2.6-rhel5.patch b/ldiskfs/kernel_patches/patches/export-ext4-2.6-rhel5.patch index 9f33c4f..7a97989 100644 --- a/ldiskfs/kernel_patches/patches/export-ext4-2.6-rhel5.patch +++ b/ldiskfs/kernel_patches/patches/export-ext4-2.6-rhel5.patch @@ -1,7 +1,7 @@ -Index: linux-2.6.18-128.1.6/fs/ext4/super.c +Index: linux-stage/fs/ext4/super.c =================================================================== ---- linux-2.6.18-128.1.6.orig/fs/ext4/super.c -+++ linux-2.6.18-128.1.6/fs/ext4/super.c +--- linux-stage.orig/fs/ext4/super.c ++++ linux-stage/fs/ext4/super.c @@ -185,6 +185,8 @@ void ext4_journal_abort_handle(const cha jbd2_journal_abort_handle(handle); } @@ -20,7 +20,7 @@ Index: linux-2.6.18-128.1.6/fs/ext4/super.c /* * Setup any per-fs journal parameters now. We'll do this both on * initial mount, once the journal has been initialised but before we've -@@ -3502,6 +3506,12 @@ int ext4_map_inode_page(struct inode *in +@@ -3504,6 +3508,12 @@ int ext4_map_inode_page(struct inode *in unsigned long *blocks, int *created, int create); EXPORT_SYMBOL(ext4_map_inode_page); @@ -33,10 +33,10 @@ Index: linux-2.6.18-128.1.6/fs/ext4/super.c MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); MODULE_DESCRIPTION("Fourth Extended Filesystem with extents"); MODULE_LICENSE("GPL"); -Index: linux-2.6.18-128.1.6/fs/ext4/ext4.h +Index: linux-stage/fs/ext4/ext4.h =================================================================== ---- linux-2.6.18-128.1.6.orig/fs/ext4/ext4.h -+++ linux-2.6.18-128.1.6/fs/ext4/ext4.h +--- linux-stage.orig/fs/ext4/ext4.h ++++ linux-stage/fs/ext4/ext4.h @@ -1024,6 +1024,8 @@ extern unsigned long ext4_count_free_ino extern unsigned long ext4_count_dirs (struct super_block *); extern void ext4_check_inodes_bitmap (struct super_block *); @@ -46,10 +46,10 @@ Index: linux-2.6.18-128.1.6/fs/ext4/ext4.h /* mballoc.c */ extern long ext4_mb_stats; -Index: linux-2.6.18-128.1.6/fs/ext4/ialloc.c +Index: linux-stage/fs/ext4/ialloc.c =================================================================== ---- linux-2.6.18-128.1.6.orig/fs/ext4/ialloc.c -+++ linux-2.6.18-128.1.6/fs/ext4/ialloc.c +--- linux-stage.orig/fs/ext4/ialloc.c ++++ linux-stage/fs/ext4/ialloc.c @@ -96,7 +96,7 @@ unsigned ext4_init_inode_bitmap(struct s * * Return buffer_head of bitmap on success or NULL. @@ -67,3 +67,15 @@ Index: linux-2.6.18-128.1.6/fs/ext4/ialloc.c /* * NOTE! When we get the inode, we're the only people +Index: linux-stage/fs/ext4/balloc.c +=================================================================== +--- linux-stage.orig/fs/ext4/balloc.c ++++ linux-stage/fs/ext4/balloc.c +@@ -236,6 +236,7 @@ struct ext4_group_desc * ext4_get_group_ + *bh = sbi->s_group_desc[group_desc]; + return desc; + } ++EXPORT_SYMBOL(ext4_get_group_desc); + + static int ext4_valid_block_bitmap(struct super_block *sb, + struct ext4_group_desc *desc, diff --git a/ldiskfs/kernel_patches/patches/export-ext4-2.6-sles11.patch b/ldiskfs/kernel_patches/patches/export-ext4-2.6-sles11.patch index 9d70f31..aa288b9 100644 --- a/ldiskfs/kernel_patches/patches/export-ext4-2.6-sles11.patch +++ b/ldiskfs/kernel_patches/patches/export-ext4-2.6-sles11.patch @@ -75,3 +75,15 @@ Index: linux-stage/fs/ext4/ialloc.c /* * NOTE! When we get the inode, we're the only people +Index: linux-stage/fs/ext4/balloc.c +=================================================================== +--- linux-stage.orig/fs/ext4/balloc.c ++++ linux-stage/fs/ext4/balloc.c +@@ -238,6 +238,7 @@ struct ext4_group_desc * ext4_get_group_ + *bh = sbi->s_group_desc[group_desc]; + return desc; + } ++EXPORT_SYMBOL(ext4_get_group_desc); + + static int ext4_valid_block_bitmap(struct super_block *sb, + struct ext4_group_desc *desc, -- 1.8.3.1