2006-10-11 08:50:44

by Andrew Morton

[permalink] [raw]
Subject: [patch 033/100] ext4 uninline ext4_get_group_no_and_offset()

From: Andrew Morton <[email protected]>

Way too big to inline.

Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

fs/ext4/balloc.c | 18 ++++++++++++++++++
include/linux/ext4_fs.h | 22 ++--------------------
2 files changed, 20 insertions(+), 20 deletions(-)

diff -puN fs/ext4/balloc.c~ext4-uninline-ext4_get_group_no_and_offset fs/ext4/balloc.c
--- a/fs/ext4/balloc.c~ext4-uninline-ext4_get_group_no_and_offset
+++ a/fs/ext4/balloc.c
@@ -25,6 +25,24 @@
*/

/*
+ * Calculate the block group number and offset, given a block number
+ */
+void ext4_get_group_no_and_offset(struct super_block *sb, ext4_fsblk_t blocknr,
+ unsigned long *blockgrpp, ext4_grpblk_t *offsetp)
+{
+ struct ext4_super_block *es = EXT4_SB(sb)->s_es;
+ ext4_grpblk_t offset;
+
+ blocknr = blocknr - le32_to_cpu(es->s_first_data_block);
+ offset = sector_div(blocknr, EXT4_BLOCKS_PER_GROUP(sb));
+ if (offsetp)
+ *offsetp = offset;
+ if (blockgrpp)
+ *blockgrpp = blocknr;
+
+}
+
+/*
* The free blocks are managed by bitmaps. A file system contains several
* blocks groups. Each group contains 1 bitmap block for blocks, 1 bitmap
* block for inodes, N blocks for the inode table and data blocks.
diff -puN include/linux/ext4_fs.h~ext4-uninline-ext4_get_group_no_and_offset include/linux/ext4_fs.h
--- a/include/linux/ext4_fs.h~ext4-uninline-ext4_get_group_no_and_offset
+++ a/include/linux/ext4_fs.h
@@ -769,26 +769,8 @@ ext4_group_first_block_no(struct super_b
*/
#define ERR_BAD_DX_DIR -75000

-/*
- * This function calculate the block group number and offset,
- * given a block number
- */
-
-static inline void ext4_get_group_no_and_offset(struct super_block * sb,
- ext4_fsblk_t blocknr, unsigned long* blockgrpp,
- ext4_grpblk_t *offsetp)
-{
- struct ext4_super_block *es = EXT4_SB(sb)->s_es;
- ext4_grpblk_t offset;
-
- blocknr = blocknr - le32_to_cpu(es->s_first_data_block);
- offset = sector_div(blocknr, EXT4_BLOCKS_PER_GROUP(sb));
- if (offsetp)
- *offsetp = offset;
- if (blockgrpp)
- *blockgrpp = blocknr;
-
-}
+void ext4_get_group_no_and_offset(struct super_block *sb, ext4_fsblk_t blocknr,
+ unsigned long *blockgrpp, ext4_grpblk_t *offsetp);

/*
* Function prototypes
_