Commit bf89d16f authored by Theodore Ts'o's avatar Theodore Ts'o

ext4: rename {ext,idx}_pblock and inline small extent functions

Cleanup namespace leaks from fs/ext4 and the inline trivial functions
ext4_{ext,idx}_pblock() and ext4_{ext,idx}_store_pblock() since the
code size actually shrinks when we make these functions inline,
they're so trivial.
Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent 1f109d5a
...@@ -225,11 +225,60 @@ static inline void ext4_ext_mark_initialized(struct ext4_extent *ext) ...@@ -225,11 +225,60 @@ static inline void ext4_ext_mark_initialized(struct ext4_extent *ext)
ext->ee_len = cpu_to_le16(ext4_ext_get_actual_len(ext)); ext->ee_len = cpu_to_le16(ext4_ext_get_actual_len(ext));
} }
/*
* ext4_ext_pblock:
* combine low and high parts of physical block number into ext4_fsblk_t
*/
static inline ext4_fsblk_t ext4_ext_pblock(struct ext4_extent *ex)
{
ext4_fsblk_t block;
block = le32_to_cpu(ex->ee_start_lo);
block |= ((ext4_fsblk_t) le16_to_cpu(ex->ee_start_hi) << 31) << 1;
return block;
}
/*
* ext4_idx_pblock:
* combine low and high parts of a leaf physical block number into ext4_fsblk_t
*/
static inline ext4_fsblk_t ext4_idx_pblock(struct ext4_extent_idx *ix)
{
ext4_fsblk_t block;
block = le32_to_cpu(ix->ei_leaf_lo);
block |= ((ext4_fsblk_t) le16_to_cpu(ix->ei_leaf_hi) << 31) << 1;
return block;
}
/*
* ext4_ext_store_pblock:
* stores a large physical block number into an extent struct,
* breaking it into parts
*/
static inline void ext4_ext_store_pblock(struct ext4_extent *ex,
ext4_fsblk_t pb)
{
ex->ee_start_lo = cpu_to_le32((unsigned long) (pb & 0xffffffff));
ex->ee_start_hi = cpu_to_le16((unsigned long) ((pb >> 31) >> 1) &
0xffff);
}
/*
* ext4_idx_store_pblock:
* stores a large physical block number into an index struct,
* breaking it into parts
*/
static inline void ext4_idx_store_pblock(struct ext4_extent_idx *ix,
ext4_fsblk_t pb)
{
ix->ei_leaf_lo = cpu_to_le32((unsigned long) (pb & 0xffffffff));
ix->ei_leaf_hi = cpu_to_le16((unsigned long) ((pb >> 31) >> 1) &
0xffff);
}
extern int ext4_ext_calc_metadata_amount(struct inode *inode, extern int ext4_ext_calc_metadata_amount(struct inode *inode,
sector_t lblocks); sector_t lblocks);
extern ext4_fsblk_t ext_pblock(struct ext4_extent *ex);
extern ext4_fsblk_t idx_pblock(struct ext4_extent_idx *);
extern void ext4_ext_store_pblock(struct ext4_extent *, ext4_fsblk_t);
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,
......
This diff is collapsed.
...@@ -412,7 +412,7 @@ static int free_ext_idx(handle_t *handle, struct inode *inode, ...@@ -412,7 +412,7 @@ static int free_ext_idx(handle_t *handle, struct inode *inode,
struct buffer_head *bh; struct buffer_head *bh;
struct ext4_extent_header *eh; struct ext4_extent_header *eh;
block = idx_pblock(ix); block = ext4_idx_pblock(ix);
bh = sb_bread(inode->i_sb, block); bh = sb_bread(inode->i_sb, block);
if (!bh) if (!bh)
return -EIO; return -EIO;
......
...@@ -85,7 +85,7 @@ mext_next_extent(struct inode *inode, struct ext4_ext_path *path, ...@@ -85,7 +85,7 @@ mext_next_extent(struct inode *inode, struct ext4_ext_path *path,
if (EXT_LAST_EXTENT(path[ppos].p_hdr) > path[ppos].p_ext) { if (EXT_LAST_EXTENT(path[ppos].p_hdr) > path[ppos].p_ext) {
/* leaf block */ /* leaf block */
*extent = ++path[ppos].p_ext; *extent = ++path[ppos].p_ext;
path[ppos].p_block = ext_pblock(path[ppos].p_ext); path[ppos].p_block = ext4_ext_pblock(path[ppos].p_ext);
return 0; return 0;
} }
...@@ -96,7 +96,7 @@ mext_next_extent(struct inode *inode, struct ext4_ext_path *path, ...@@ -96,7 +96,7 @@ mext_next_extent(struct inode *inode, struct ext4_ext_path *path,
/* index block */ /* index block */
path[ppos].p_idx++; path[ppos].p_idx++;
path[ppos].p_block = idx_pblock(path[ppos].p_idx); path[ppos].p_block = ext4_idx_pblock(path[ppos].p_idx);
if (path[ppos+1].p_bh) if (path[ppos+1].p_bh)
brelse(path[ppos+1].p_bh); brelse(path[ppos+1].p_bh);
path[ppos+1].p_bh = path[ppos+1].p_bh =
...@@ -111,7 +111,7 @@ mext_next_extent(struct inode *inode, struct ext4_ext_path *path, ...@@ -111,7 +111,7 @@ mext_next_extent(struct inode *inode, struct ext4_ext_path *path,
path[cur_ppos].p_idx = path[cur_ppos].p_idx =
EXT_FIRST_INDEX(path[cur_ppos].p_hdr); EXT_FIRST_INDEX(path[cur_ppos].p_hdr);
path[cur_ppos].p_block = path[cur_ppos].p_block =
idx_pblock(path[cur_ppos].p_idx); ext4_idx_pblock(path[cur_ppos].p_idx);
if (path[cur_ppos+1].p_bh) if (path[cur_ppos+1].p_bh)
brelse(path[cur_ppos+1].p_bh); brelse(path[cur_ppos+1].p_bh);
path[cur_ppos+1].p_bh = sb_bread(inode->i_sb, path[cur_ppos+1].p_bh = sb_bread(inode->i_sb,
...@@ -133,7 +133,7 @@ mext_next_extent(struct inode *inode, struct ext4_ext_path *path, ...@@ -133,7 +133,7 @@ mext_next_extent(struct inode *inode, struct ext4_ext_path *path,
path[leaf_ppos].p_ext = *extent = path[leaf_ppos].p_ext = *extent =
EXT_FIRST_EXTENT(path[leaf_ppos].p_hdr); EXT_FIRST_EXTENT(path[leaf_ppos].p_hdr);
path[leaf_ppos].p_block = path[leaf_ppos].p_block =
ext_pblock(path[leaf_ppos].p_ext); ext4_ext_pblock(path[leaf_ppos].p_ext);
return 0; return 0;
} }
} }
...@@ -249,7 +249,7 @@ mext_insert_across_blocks(handle_t *handle, struct inode *orig_inode, ...@@ -249,7 +249,7 @@ mext_insert_across_blocks(handle_t *handle, struct inode *orig_inode,
*/ */
o_end->ee_block = end_ext->ee_block; o_end->ee_block = end_ext->ee_block;
o_end->ee_len = end_ext->ee_len; o_end->ee_len = end_ext->ee_len;
ext4_ext_store_pblock(o_end, ext_pblock(end_ext)); ext4_ext_store_pblock(o_end, ext4_ext_pblock(end_ext));
} }
o_start->ee_len = start_ext->ee_len; o_start->ee_len = start_ext->ee_len;
...@@ -276,7 +276,7 @@ mext_insert_across_blocks(handle_t *handle, struct inode *orig_inode, ...@@ -276,7 +276,7 @@ mext_insert_across_blocks(handle_t *handle, struct inode *orig_inode,
*/ */
o_end->ee_block = end_ext->ee_block; o_end->ee_block = end_ext->ee_block;
o_end->ee_len = end_ext->ee_len; o_end->ee_len = end_ext->ee_len;
ext4_ext_store_pblock(o_end, ext_pblock(end_ext)); ext4_ext_store_pblock(o_end, ext4_ext_pblock(end_ext));
/* /*
* Set 0 to the extent block if new_ext was * Set 0 to the extent block if new_ext was
...@@ -361,7 +361,7 @@ mext_insert_inside_block(struct ext4_extent *o_start, ...@@ -361,7 +361,7 @@ mext_insert_inside_block(struct ext4_extent *o_start,
/* Insert new entry */ /* Insert new entry */
if (new_ext->ee_len) { if (new_ext->ee_len) {
o_start[i] = *new_ext; o_start[i] = *new_ext;
ext4_ext_store_pblock(&o_start[i++], ext_pblock(new_ext)); ext4_ext_store_pblock(&o_start[i++], ext4_ext_pblock(new_ext));
} }
/* Insert end entry */ /* Insert end entry */
...@@ -488,7 +488,7 @@ mext_leaf_block(handle_t *handle, struct inode *orig_inode, ...@@ -488,7 +488,7 @@ mext_leaf_block(handle_t *handle, struct inode *orig_inode,
start_ext.ee_len = end_ext.ee_len = 0; start_ext.ee_len = end_ext.ee_len = 0;
new_ext.ee_block = cpu_to_le32(*from); new_ext.ee_block = cpu_to_le32(*from);
ext4_ext_store_pblock(&new_ext, ext_pblock(dext)); ext4_ext_store_pblock(&new_ext, ext4_ext_pblock(dext));
new_ext.ee_len = dext->ee_len; new_ext.ee_len = dext->ee_len;
new_ext_alen = ext4_ext_get_actual_len(&new_ext); new_ext_alen = ext4_ext_get_actual_len(&new_ext);
new_ext_end = le32_to_cpu(new_ext.ee_block) + new_ext_alen - 1; new_ext_end = le32_to_cpu(new_ext.ee_block) + new_ext_alen - 1;
...@@ -553,7 +553,7 @@ mext_leaf_block(handle_t *handle, struct inode *orig_inode, ...@@ -553,7 +553,7 @@ mext_leaf_block(handle_t *handle, struct inode *orig_inode,
copy_extent_status(oext, &end_ext); copy_extent_status(oext, &end_ext);
end_ext_alen = ext4_ext_get_actual_len(&end_ext); end_ext_alen = ext4_ext_get_actual_len(&end_ext);
ext4_ext_store_pblock(&end_ext, ext4_ext_store_pblock(&end_ext,
(ext_pblock(o_end) + oext_alen - end_ext_alen)); (ext4_ext_pblock(o_end) + oext_alen - end_ext_alen));
end_ext.ee_block = end_ext.ee_block =
cpu_to_le32(le32_to_cpu(o_end->ee_block) + cpu_to_le32(le32_to_cpu(o_end->ee_block) +
oext_alen - end_ext_alen); oext_alen - end_ext_alen);
...@@ -604,7 +604,7 @@ mext_calc_swap_extents(struct ext4_extent *tmp_dext, ...@@ -604,7 +604,7 @@ mext_calc_swap_extents(struct ext4_extent *tmp_dext,
/* When tmp_dext is too large, pick up the target range. */ /* When tmp_dext is too large, pick up the target range. */
diff = donor_off - le32_to_cpu(tmp_dext->ee_block); diff = donor_off - le32_to_cpu(tmp_dext->ee_block);
ext4_ext_store_pblock(tmp_dext, ext_pblock(tmp_dext) + diff); ext4_ext_store_pblock(tmp_dext, ext4_ext_pblock(tmp_dext) + diff);
tmp_dext->ee_block = tmp_dext->ee_block =
cpu_to_le32(le32_to_cpu(tmp_dext->ee_block) + diff); cpu_to_le32(le32_to_cpu(tmp_dext->ee_block) + diff);
tmp_dext->ee_len = cpu_to_le16(le16_to_cpu(tmp_dext->ee_len) - diff); tmp_dext->ee_len = cpu_to_le16(le16_to_cpu(tmp_dext->ee_len) - diff);
...@@ -613,7 +613,7 @@ mext_calc_swap_extents(struct ext4_extent *tmp_dext, ...@@ -613,7 +613,7 @@ mext_calc_swap_extents(struct ext4_extent *tmp_dext,
tmp_dext->ee_len = cpu_to_le16(max_count); tmp_dext->ee_len = cpu_to_le16(max_count);
orig_diff = orig_off - le32_to_cpu(tmp_oext->ee_block); orig_diff = orig_off - le32_to_cpu(tmp_oext->ee_block);
ext4_ext_store_pblock(tmp_oext, ext_pblock(tmp_oext) + orig_diff); ext4_ext_store_pblock(tmp_oext, ext4_ext_pblock(tmp_oext) + orig_diff);
/* Adjust extent length if donor extent is larger than orig */ /* Adjust extent length if donor extent is larger than orig */
if (ext4_ext_get_actual_len(tmp_dext) > if (ext4_ext_get_actual_len(tmp_dext) >
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment