[PATCH] ext4 uninline ext4_get_group_no_and_offset()

Way too big to inline.

Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Andrew Morton 2006-10-11 01:21:18 -07:00 committed by Linus Torvalds
parent 8fadc14323
commit 72b64b5940
2 changed files with 20 additions and 20 deletions

View File

@ -24,6 +24,24 @@
* balloc.c contains the blocks allocation and deallocation routines * balloc.c contains the blocks allocation and deallocation routines
*/ */
/*
* 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 * The free blocks are managed by bitmaps. A file system contains several
* blocks groups. Each group contains 1 bitmap block for blocks, 1 bitmap * blocks groups. Each group contains 1 bitmap block for blocks, 1 bitmap

View File

@ -769,26 +769,8 @@ ext4_group_first_block_no(struct super_block *sb, unsigned long group_no)
*/ */
#define ERR_BAD_DX_DIR -75000 #define ERR_BAD_DX_DIR -75000
/* void ext4_get_group_no_and_offset(struct super_block *sb, ext4_fsblk_t blocknr,
* This function calculate the block group number and offset, unsigned long *blockgrpp, ext4_grpblk_t *offsetp);
* 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;
}
/* /*
* Function prototypes * Function prototypes