ext4: use ext4_lblk_t instead of sector_t for logical blocks
This fixes a number of places where we used sector_t instead of ext4_lblk_t for logical blocks, which for ext4 are still 32-bit data types. No point wasting space in the ext4_inode_info structure, and requiring 64-bit arithmetic on 32-bit systems, when it isn't necessary. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
parent
f232109773
commit
01f49d0b9d
@ -828,7 +828,7 @@ struct ext4_inode_info {
|
|||||||
unsigned int i_reserved_data_blocks;
|
unsigned int i_reserved_data_blocks;
|
||||||
unsigned int i_reserved_meta_blocks;
|
unsigned int i_reserved_meta_blocks;
|
||||||
unsigned int i_allocated_meta_blocks;
|
unsigned int i_allocated_meta_blocks;
|
||||||
sector_t i_da_metadata_calc_last_lblock;
|
ext4_lblk_t i_da_metadata_calc_last_lblock;
|
||||||
int i_da_metadata_calc_len;
|
int i_da_metadata_calc_len;
|
||||||
|
|
||||||
/* on-disk additional length */
|
/* on-disk additional length */
|
||||||
|
@ -278,7 +278,7 @@ static inline void ext4_idx_store_pblock(struct ext4_extent_idx *ix,
|
|||||||
}
|
}
|
||||||
|
|
||||||
extern int ext4_ext_calc_metadata_amount(struct inode *inode,
|
extern int ext4_ext_calc_metadata_amount(struct inode *inode,
|
||||||
sector_t lblocks);
|
ext4_lblk_t lblocks);
|
||||||
extern int ext4_extent_tree_init(handle_t *, struct inode *);
|
extern int ext4_extent_tree_init(handle_t *, struct inode *);
|
||||||
extern int ext4_ext_calc_credits_for_single_extent(struct inode *inode,
|
extern int ext4_ext_calc_credits_for_single_extent(struct inode *inode,
|
||||||
int num,
|
int num,
|
||||||
|
@ -266,7 +266,7 @@ static inline int ext4_ext_space_root_idx(struct inode *inode, int check)
|
|||||||
* to allocate @blocks
|
* to allocate @blocks
|
||||||
* Worse case is one block per extent
|
* Worse case is one block per extent
|
||||||
*/
|
*/
|
||||||
int ext4_ext_calc_metadata_amount(struct inode *inode, sector_t lblock)
|
int ext4_ext_calc_metadata_amount(struct inode *inode, ext4_lblk_t lblock)
|
||||||
{
|
{
|
||||||
struct ext4_inode_info *ei = EXT4_I(inode);
|
struct ext4_inode_info *ei = EXT4_I(inode);
|
||||||
int idxs, num = 0;
|
int idxs, num = 0;
|
||||||
|
@ -1091,7 +1091,7 @@ static int ext4_indirect_calc_metadata_amount(struct inode *inode,
|
|||||||
* Calculate the number of metadata blocks need to reserve
|
* Calculate the number of metadata blocks need to reserve
|
||||||
* to allocate a block located at @lblock
|
* to allocate a block located at @lblock
|
||||||
*/
|
*/
|
||||||
static int ext4_calc_metadata_amount(struct inode *inode, sector_t lblock)
|
static int ext4_calc_metadata_amount(struct inode *inode, ext4_lblk_t lblock)
|
||||||
{
|
{
|
||||||
if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))
|
if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))
|
||||||
return ext4_ext_calc_metadata_amount(inode, lblock);
|
return ext4_ext_calc_metadata_amount(inode, lblock);
|
||||||
@ -1888,7 +1888,7 @@ static int ext4_journalled_write_end(struct file *file,
|
|||||||
/*
|
/*
|
||||||
* Reserve a single block located at lblock
|
* Reserve a single block located at lblock
|
||||||
*/
|
*/
|
||||||
static int ext4_da_reserve_space(struct inode *inode, sector_t lblock)
|
static int ext4_da_reserve_space(struct inode *inode, ext4_lblk_t lblock)
|
||||||
{
|
{
|
||||||
int retries = 0;
|
int retries = 0;
|
||||||
struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
|
struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user