mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
[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:
parent
8fadc14323
commit
72b64b5940
|
@ -24,6 +24,24 @@
|
|||
* 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
|
||||
* blocks groups. Each group contains 1 bitmap block for blocks, 1 bitmap
|
||||
|
|
|
@ -769,26 +769,8 @@ ext4_group_first_block_no(struct super_block *sb, unsigned long group_no)
|
|||
*/
|
||||
#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
|
||||
|
|
Loading…
Reference in a new issue