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,
......
...@@ -44,55 +44,6 @@ ...@@ -44,55 +44,6 @@
#include "ext4_jbd2.h" #include "ext4_jbd2.h"
#include "ext4_extents.h" #include "ext4_extents.h"
/*
* ext_pblock:
* combine low and high parts of physical block number into ext4_fsblk_t
*/
ext4_fsblk_t 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;
}
/*
* idx_pblock:
* combine low and high parts of a leaf physical block number into ext4_fsblk_t
*/
ext4_fsblk_t 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
*/
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 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);
}
static int ext4_ext_truncate_extend_restart(handle_t *handle, static int ext4_ext_truncate_extend_restart(handle_t *handle,
struct inode *inode, struct inode *inode,
int needed) int needed)
...@@ -169,7 +120,8 @@ static ext4_fsblk_t ext4_ext_find_goal(struct inode *inode, ...@@ -169,7 +120,8 @@ static ext4_fsblk_t ext4_ext_find_goal(struct inode *inode,
/* try to predict block placement */ /* try to predict block placement */
ex = path[depth].p_ext; ex = path[depth].p_ext;
if (ex) if (ex)
return ext_pblock(ex)+(block-le32_to_cpu(ex->ee_block)); return (ext4_ext_pblock(ex) +
(block - le32_to_cpu(ex->ee_block)));
/* it looks like index is empty; /* it looks like index is empty;
* try to find starting block from index itself */ * try to find starting block from index itself */
...@@ -354,7 +306,7 @@ ext4_ext_max_entries(struct inode *inode, int depth) ...@@ -354,7 +306,7 @@ ext4_ext_max_entries(struct inode *inode, int depth)
static int ext4_valid_extent(struct inode *inode, struct ext4_extent *ext) static int ext4_valid_extent(struct inode *inode, struct ext4_extent *ext)
{ {
ext4_fsblk_t block = ext_pblock(ext); ext4_fsblk_t block = ext4_ext_pblock(ext);
int len = ext4_ext_get_actual_len(ext); int len = ext4_ext_get_actual_len(ext);
return ext4_data_block_valid(EXT4_SB(inode->i_sb), block, len); return ext4_data_block_valid(EXT4_SB(inode->i_sb), block, len);
...@@ -363,7 +315,7 @@ static int ext4_valid_extent(struct inode *inode, struct ext4_extent *ext) ...@@ -363,7 +315,7 @@ static int ext4_valid_extent(struct inode *inode, struct ext4_extent *ext)
static int ext4_valid_extent_idx(struct inode *inode, static int ext4_valid_extent_idx(struct inode *inode,
struct ext4_extent_idx *ext_idx) struct ext4_extent_idx *ext_idx)
{ {
ext4_fsblk_t block = idx_pblock(ext_idx); ext4_fsblk_t block = ext4_idx_pblock(ext_idx);
return ext4_data_block_valid(EXT4_SB(inode->i_sb), block, 1); return ext4_data_block_valid(EXT4_SB(inode->i_sb), block, 1);
} }
...@@ -463,13 +415,13 @@ static void ext4_ext_show_path(struct inode *inode, struct ext4_ext_path *path) ...@@ -463,13 +415,13 @@ static void ext4_ext_show_path(struct inode *inode, struct ext4_ext_path *path)
for (k = 0; k <= l; k++, path++) { for (k = 0; k <= l; k++, path++) {
if (path->p_idx) { if (path->p_idx) {
ext_debug(" %d->%llu", le32_to_cpu(path->p_idx->ei_block), ext_debug(" %d->%llu", le32_to_cpu(path->p_idx->ei_block),
idx_pblock(path->p_idx)); ext4_idx_pblock(path->p_idx));
} else if (path->p_ext) { } else if (path->p_ext) {
ext_debug(" %d:[%d]%d:%llu ", ext_debug(" %d:[%d]%d:%llu ",
le32_to_cpu(path->p_ext->ee_block), le32_to_cpu(path->p_ext->ee_block),
ext4_ext_is_uninitialized(path->p_ext), ext4_ext_is_uninitialized(path->p_ext),
ext4_ext_get_actual_len(path->p_ext), ext4_ext_get_actual_len(path->p_ext),
ext_pblock(path->p_ext)); ext4_ext_pblock(path->p_ext));
} else } else
ext_debug(" []"); ext_debug(" []");
} }
...@@ -494,7 +446,7 @@ static void ext4_ext_show_leaf(struct inode *inode, struct ext4_ext_path *path) ...@@ -494,7 +446,7 @@ static void ext4_ext_show_leaf(struct inode *inode, struct ext4_ext_path *path)
for (i = 0; i < le16_to_cpu(eh->eh_entries); i++, ex++) { for (i = 0; i < le16_to_cpu(eh->eh_entries); i++, ex++) {
ext_debug("%d:[%d]%d:%llu ", le32_to_cpu(ex->ee_block), ext_debug("%d:[%d]%d:%llu ", le32_to_cpu(ex->ee_block),
ext4_ext_is_uninitialized(ex), ext4_ext_is_uninitialized(ex),
ext4_ext_get_actual_len(ex), ext_pblock(ex)); ext4_ext_get_actual_len(ex), ext4_ext_pblock(ex));
} }
ext_debug("\n"); ext_debug("\n");
} }
...@@ -545,7 +497,7 @@ ext4_ext_binsearch_idx(struct inode *inode, ...@@ -545,7 +497,7 @@ ext4_ext_binsearch_idx(struct inode *inode,
path->p_idx = l - 1; path->p_idx = l - 1;
ext_debug(" -> %d->%lld ", le32_to_cpu(path->p_idx->ei_block), ext_debug(" -> %d->%lld ", le32_to_cpu(path->p_idx->ei_block),
idx_pblock(path->p_idx)); ext4_idx_pblock(path->p_idx));
#ifdef CHECK_BINSEARCH #ifdef CHECK_BINSEARCH
{ {
...@@ -614,7 +566,7 @@ ext4_ext_binsearch(struct inode *inode, ...@@ -614,7 +566,7 @@ ext4_ext_binsearch(struct inode *inode,
path->p_ext = l - 1; path->p_ext = l - 1;
ext_debug(" -> %d:%llu:[%d]%d ", ext_debug(" -> %d:%llu:[%d]%d ",
le32_to_cpu(path->p_ext->ee_block), le32_to_cpu(path->p_ext->ee_block),
ext_pblock(path->p_ext), ext4_ext_pblock(path->p_ext),
ext4_ext_is_uninitialized(path->p_ext), ext4_ext_is_uninitialized(path->p_ext),
ext4_ext_get_actual_len(path->p_ext)); ext4_ext_get_actual_len(path->p_ext));
...@@ -682,7 +634,7 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block, ...@@ -682,7 +634,7 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block,
ppos, le16_to_cpu(eh->eh_entries), le16_to_cpu(eh->eh_max)); ppos, le16_to_cpu(eh->eh_entries), le16_to_cpu(eh->eh_max));
ext4_ext_binsearch_idx(inode, path + ppos, block); ext4_ext_binsearch_idx(inode, path + ppos, block);
path[ppos].p_block = idx_pblock(path[ppos].p_idx); path[ppos].p_block = ext4_idx_pblock(path[ppos].p_idx);
path[ppos].p_depth = i; path[ppos].p_depth = i;
path[ppos].p_ext = NULL; path[ppos].p_ext = NULL;
...@@ -721,7 +673,7 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block, ...@@ -721,7 +673,7 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block,
ext4_ext_binsearch(inode, path + ppos, block); ext4_ext_binsearch(inode, path + ppos, block);
/* if not an empty leaf */ /* if not an empty leaf */
if (path[ppos].p_ext) if (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);
ext4_ext_show_path(inode, path); ext4_ext_show_path(inode, path);
...@@ -917,7 +869,7 @@ static int ext4_ext_split(handle_t *handle, struct inode *inode, ...@@ -917,7 +869,7 @@ static int ext4_ext_split(handle_t *handle, struct inode *inode,
EXT_MAX_EXTENT(path[depth].p_hdr)) { EXT_MAX_EXTENT(path[depth].p_hdr)) {
ext_debug("move %d:%llu:[%d]%d in new leaf %llu\n", ext_debug("move %d:%llu:[%d]%d in new leaf %llu\n",
le32_to_cpu(path[depth].p_ext->ee_block), le32_to_cpu(path[depth].p_ext->ee_block),
ext_pblock(path[depth].p_ext), ext4_ext_pblock(path[depth].p_ext),
ext4_ext_is_uninitialized(path[depth].p_ext), ext4_ext_is_uninitialized(path[depth].p_ext),
ext4_ext_get_actual_len(path[depth].p_ext), ext4_ext_get_actual_len(path[depth].p_ext),
newblock); newblock);
...@@ -1007,7 +959,7 @@ static int ext4_ext_split(handle_t *handle, struct inode *inode, ...@@ -1007,7 +959,7 @@ static int ext4_ext_split(handle_t *handle, struct inode *inode,
while (path[i].p_idx <= EXT_MAX_INDEX(path[i].p_hdr)) { while (path[i].p_idx <= EXT_MAX_INDEX(path[i].p_hdr)) {
ext_debug("%d: move %d:%llu in new index %llu\n", i, ext_debug("%d: move %d:%llu in new index %llu\n", i,
le32_to_cpu(path[i].p_idx->ei_block), le32_to_cpu(path[i].p_idx->ei_block),
idx_pblock(path[i].p_idx), ext4_idx_pblock(path[i].p_idx),
newblock); newblock);
/*memmove(++fidx, path[i].p_idx++, /*memmove(++fidx, path[i].p_idx++,
sizeof(struct ext4_extent_idx)); sizeof(struct ext4_extent_idx));
...@@ -1146,7 +1098,7 @@ static int ext4_ext_grow_indepth(handle_t *handle, struct inode *inode, ...@@ -1146,7 +1098,7 @@ static int ext4_ext_grow_indepth(handle_t *handle, struct inode *inode,
ext_debug("new root: num %d(%d), lblock %d, ptr %llu\n", ext_debug("new root: num %d(%d), lblock %d, ptr %llu\n",
le16_to_cpu(neh->eh_entries), le16_to_cpu(neh->eh_max), le16_to_cpu(neh->eh_entries), le16_to_cpu(neh->eh_max),
le32_to_cpu(EXT_FIRST_INDEX(neh)->ei_block), le32_to_cpu(EXT_FIRST_INDEX(neh)->ei_block),
idx_pblock(EXT_FIRST_INDEX(neh))); ext4_idx_pblock(EXT_FIRST_INDEX(neh)));
neh->eh_depth = cpu_to_le16(path->p_depth + 1); neh->eh_depth = cpu_to_le16(path->p_depth + 1);
err = ext4_ext_dirty(handle, inode, curp); err = ext4_ext_dirty(handle, inode, curp);
...@@ -1286,7 +1238,7 @@ static int ext4_ext_search_left(struct inode *inode, ...@@ -1286,7 +1238,7 @@ static int ext4_ext_search_left(struct inode *inode,
} }
*logical = le32_to_cpu(ex->ee_block) + ee_len - 1; *logical = le32_to_cpu(ex->ee_block) + ee_len - 1;
*phys = ext_pblock(ex) + ee_len - 1; *phys = ext4_ext_pblock(ex) + ee_len - 1;
return 0; return 0;
} }
...@@ -1342,7 +1294,7 @@ static int ext4_ext_search_right(struct inode *inode, ...@@ -1342,7 +1294,7 @@ static int ext4_ext_search_right(struct inode *inode,
} }
} }
*logical = le32_to_cpu(ex->ee_block); *logical = le32_to_cpu(ex->ee_block);
*phys = ext_pblock(ex); *phys = ext4_ext_pblock(ex);
return 0; return 0;
} }
...@@ -1357,7 +1309,7 @@ static int ext4_ext_search_right(struct inode *inode, ...@@ -1357,7 +1309,7 @@ static int ext4_ext_search_right(struct inode *inode,
/* next allocated block in this leaf */ /* next allocated block in this leaf */
ex++; ex++;
*logical = le32_to_cpu(ex->ee_block); *logical = le32_to_cpu(ex->ee_block);
*phys = ext_pblock(ex); *phys = ext4_ext_pblock(ex);
return 0; return 0;
} }
...@@ -1376,7 +1328,7 @@ static int ext4_ext_search_right(struct inode *inode, ...@@ -1376,7 +1328,7 @@ static int ext4_ext_search_right(struct inode *inode,
* follow it and find the closest allocated * follow it and find the closest allocated
* block to the right */ * block to the right */
ix++; ix++;
block = idx_pblock(ix); block = ext4_idx_pblock(ix);
while (++depth < path->p_depth) { while (++depth < path->p_depth) {
bh = sb_bread(inode->i_sb, block); bh = sb_bread(inode->i_sb, block);
if (bh == NULL) if (bh == NULL)
...@@ -1388,7 +1340,7 @@ static int ext4_ext_search_right(struct inode *inode, ...@@ -1388,7 +1340,7 @@ static int ext4_ext_search_right(struct inode *inode,
return -EIO; return -EIO;
} }
ix = EXT_FIRST_INDEX(eh); ix = EXT_FIRST_INDEX(eh);
block = idx_pblock(ix); block = ext4_idx_pblock(ix);
put_bh(bh); put_bh(bh);
} }
...@@ -1402,7 +1354,7 @@ static int ext4_ext_search_right(struct inode *inode, ...@@ -1402,7 +1354,7 @@ static int ext4_ext_search_right(struct inode *inode,
} }
ex = EXT_FIRST_EXTENT(eh); ex = EXT_FIRST_EXTENT(eh);
*logical = le32_to_cpu(ex->ee_block); *logical = le32_to_cpu(ex->ee_block);
*phys = ext_pblock(ex); *phys = ext4_ext_pblock(ex);
put_bh(bh); put_bh(bh);
return 0; return 0;
} }
...@@ -1573,7 +1525,7 @@ ext4_can_extents_be_merged(struct inode *inode, struct ext4_extent *ex1, ...@@ -1573,7 +1525,7 @@ ext4_can_extents_be_merged(struct inode *inode, struct ext4_extent *ex1,
return 0; return 0;
#endif #endif
if (ext_pblock(ex1) + ext1_ee_len == ext_pblock(ex2)) if (ext4_ext_pblock(ex1) + ext1_ee_len == ext4_ext_pblock(ex2))
return 1; return 1;
return 0; return 0;
} }
...@@ -1710,7 +1662,8 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode, ...@@ -1710,7 +1662,8 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode,
ext4_ext_get_actual_len(newext), ext4_ext_get_actual_len(newext),
le32_to_cpu(ex->ee_block), le32_to_cpu(ex->ee_block),
ext4_ext_is_uninitialized(ex), ext4_ext_is_uninitialized(ex),
ext4_ext_get_actual_len(ex), ext_pblock(ex)); ext4_ext_get_actual_len(ex),
ext4_ext_pblock(ex));
err = ext4_ext_get_access(handle, inode, path + depth); err = ext4_ext_get_access(handle, inode, path + depth);
if (err) if (err)
return err; return err;
...@@ -1780,7 +1733,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode, ...@@ -1780,7 +1733,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode,
/* there is no extent in this leaf, create first one */ /* there is no extent in this leaf, create first one */
ext_debug("first extent in the leaf: %d:%llu:[%d]%d\n", ext_debug("first extent in the leaf: %d:%llu:[%d]%d\n",
le32_to_cpu(newext->ee_block), le32_to_cpu(newext->ee_block),
ext_pblock(newext), ext4_ext_pblock(newext),
ext4_ext_is_uninitialized(newext), ext4_ext_is_uninitialized(newext),
ext4_ext_get_actual_len(newext)); ext4_ext_get_actual_len(newext));
path[depth].p_ext = EXT_FIRST_EXTENT(eh); path[depth].p_ext = EXT_FIRST_EXTENT(eh);
...@@ -1794,7 +1747,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode, ...@@ -1794,7 +1747,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode,
ext_debug("insert %d:%llu:[%d]%d after: nearest 0x%p, " ext_debug("insert %d:%llu:[%d]%d after: nearest 0x%p, "
"move %d from 0x%p to 0x%p\n", "move %d from 0x%p to 0x%p\n",
le32_to_cpu(newext->ee_block), le32_to_cpu(newext->ee_block),
ext_pblock(newext), ext4_ext_pblock(newext),
ext4_ext_is_uninitialized(newext), ext4_ext_is_uninitialized(newext),
ext4_ext_get_actual_len(newext), ext4_ext_get_actual_len(newext),
nearex, len, nearex + 1, nearex + 2); nearex, len, nearex + 1, nearex + 2);
...@@ -1808,7 +1761,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode, ...@@ -1808,7 +1761,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode,
ext_debug("insert %d:%llu:[%d]%d before: nearest 0x%p, " ext_debug("insert %d:%llu:[%d]%d before: nearest 0x%p, "
"move %d from 0x%p to 0x%p\n", "move %d from 0x%p to 0x%p\n",
le32_to_cpu(newext->ee_block), le32_to_cpu(newext->ee_block),
ext_pblock(newext), ext4_ext_pblock(newext),
ext4_ext_is_uninitialized(newext), ext4_ext_is_uninitialized(newext),
ext4_ext_get_actual_len(newext), ext4_ext_get_actual_len(newext),
nearex, len, nearex + 1, nearex + 2); nearex, len, nearex + 1, nearex + 2);
...@@ -1819,7 +1772,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode, ...@@ -1819,7 +1772,7 @@ int ext4_ext_insert_extent(handle_t *handle, struct inode *inode,
le16_add_cpu(&eh->eh_entries, 1); le16_add_cpu(&eh->eh_entries, 1);
nearex = path[depth].p_ext; nearex = path[depth].p_ext;
nearex->ee_block = newext->ee_block; nearex->ee_block = newext->ee_block;
ext4_ext_store_pblock(nearex, ext_pblock(newext)); ext4_ext_store_pblock(nearex, ext4_ext_pblock(newext));
nearex->ee_len = newext->ee_len; nearex->ee_len = newext->ee_len;
merge: merge:
...@@ -1923,7 +1876,7 @@ static int ext4_ext_walk_space(struct inode *inode, ext4_lblk_t block, ...@@ -1923,7 +1876,7 @@ static int ext4_ext_walk_space(struct inode *inode, ext4_lblk_t block,
} else { } else {
cbex.ec_block = le32_to_cpu(ex->ee_block); cbex.ec_block = le32_to_cpu(ex->ee_block);
cbex.ec_len = ext4_ext_get_actual_len(ex); cbex.ec_len = ext4_ext_get_actual_len(ex);
cbex.ec_start = ext_pblock(ex); cbex.ec_start = ext4_ext_pblock(ex);
cbex.ec_type = EXT4_EXT_CACHE_EXTENT; cbex.ec_type = EXT4_EXT_CACHE_EXTENT;
} }
...@@ -2073,7 +2026,7 @@ static int ext4_ext_rm_idx(handle_t *handle, struct inode *inode, ...@@ -2073,7 +2026,7 @@ static int ext4_ext_rm_idx(handle_t *handle, struct inode *inode,
/* free index block */ /* free index block */
path--; path--;
leaf = idx_pblock(path->p_idx); leaf = ext4_idx_pblock(path->p_idx);
if (unlikely(path->p_hdr->eh_entries == 0)) { if (unlikely(path->p_hdr->eh_entries == 0)) {
EXT4_ERROR_INODE(inode, "path->p_hdr->eh_entries == 0"); EXT4_ERROR_INODE(inode, "path->p_hdr->eh_entries == 0");
return -EIO; return -EIO;
...@@ -2181,7 +2134,7 @@ static int ext4_remove_blocks(handle_t *handle, struct inode *inode, ...@@ -2181,7 +2134,7 @@ static int ext4_remove_blocks(handle_t *handle, struct inode *inode,
ext4_fsblk_t start; ext4_fsblk_t start;
num = le32_to_cpu(ex->ee_block) + ee_len - from; num = le32_to_cpu(ex->ee_block) + ee_len - from;
start = ext_pblock(ex) + ee_len - num; start = ext4_ext_pblock(ex) + ee_len - num;
ext_debug("free last %u blocks starting %llu\n", num, start); ext_debug("free last %u blocks starting %llu\n", num, start);
ext4_free_blocks(handle, inode, 0, start, num, flags); ext4_free_blocks(handle, inode, 0, start, num, flags);
} else if (from == le32_to_cpu(ex->ee_block) } else if (from == le32_to_cpu(ex->ee_block)
...@@ -2310,7 +2263,7 @@ ext4_ext_rm_leaf(handle_t *handle, struct inode *inode, ...@@ -2310,7 +2263,7 @@ ext4_ext_rm_leaf(handle_t *handle, struct inode *inode,
goto out; goto out;
ext_debug("new extent: %u:%u:%llu\n", block, num, ext_debug("new extent: %u:%u:%llu\n", block, num,
ext_pblock(ex)); ext4_ext_pblock(ex));
ex--; ex--;
ex_ee_block = le32_to_cpu(ex->ee_block); ex_ee_block = le32_to_cpu(ex->ee_block);
ex_ee_len = ext4_ext_get_actual_len(ex); ex_ee_len = ext4_ext_get_actual_len(ex);
...@@ -2421,9 +2374,9 @@ static int ext4_ext_remove_space(struct inode *inode, ext4_lblk_t start) ...@@ -2421,9 +2374,9 @@ static int ext4_ext_remove_space(struct inode *inode, ext4_lblk_t start)
struct buffer_head *bh; struct buffer_head *bh;
/* go to the next level */ /* go to the next level */
ext_debug("move to level %d (block %llu)\n", ext_debug("move to level %d (block %llu)\n",
i + 1, idx_pblock(path[i].p_idx)); i + 1, ext4_idx_pblock(path[i].p_idx));
memset(path + i + 1, 0, sizeof(*path)); memset(path + i + 1, 0, sizeof(*path));
bh = sb_bread(sb, idx_pblock(path[i].p_idx)); bh = sb_bread(sb, ext4_idx_pblock(path[i].p_idx));
if (!bh) { if (!bh) {
/* should we reset i_size? */ /* should we reset i_size? */
err = -EIO; err = -EIO;
...@@ -2543,7 +2496,7 @@ static int ext4_ext_zeroout(struct inode *inode, struct ext4_extent *ex) ...@@ -2543,7 +2496,7 @@ static int ext4_ext_zeroout(struct inode *inode, struct ext4_extent *ex)
int ret; int ret;
ee_len = ext4_ext_get_actual_len(ex); ee_len = ext4_ext_get_actual_len(ex);
ee_pblock = ext_pblock(ex); ee_pblock = ext4_ext_pblock(ex);
ret = sb_issue_zeroout(inode->i_sb, ee_pblock, ee_len, ret = sb_issue_zeroout(inode->i_sb, ee_pblock, ee_len,
GFP_NOFS, BLKDEV_IFL_WAIT); GFP_NOFS, BLKDEV_IFL_WAIT);
...@@ -2596,12 +2549,12 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, ...@@ -2596,12 +2549,12 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
ee_block = le32_to_cpu(ex->ee_block); ee_block = le32_to_cpu(ex->ee_block);
ee_len = ext4_ext_get_actual_len(ex); ee_len = ext4_ext_get_actual_len(ex);
allocated = ee_len - (map->m_lblk - ee_block); allocated = ee_len - (map->m_lblk - ee_block);
newblock = map->m_lblk - ee_block + ext_pblock(ex); newblock = map->m_lblk - ee_block + ext4_ext_pblock(ex);
ex2 = ex; ex2 = ex;
orig_ex.ee_block = ex->ee_block; orig_ex.ee_block = ex->ee_block;
orig_ex.ee_len = cpu_to_le16(ee_len); orig_ex.ee_len = cpu_to_le16(ee_len);
ext4_ext_store_pblock(&orig_ex, ext_pblock(ex)); ext4_ext_store_pblock(&orig_ex, ext4_ext_pblock(ex));
/* /*
* It is safe to convert extent to initialized via explicit * It is safe to convert extent to initialized via explicit
...@@ -2620,7 +2573,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, ...@@ -2620,7 +2573,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
/* update the extent length and mark as initialized */ /* update the extent length and mark as initialized */
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
/* zeroed the full extent */ /* zeroed the full extent */
return allocated; return allocated;
...@@ -2655,7 +2608,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, ...@@ -2655,7 +2608,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = cpu_to_le16(ee_len - allocated); ex->ee_len = cpu_to_le16(ee_len - allocated);
ext4_ext_mark_uninitialized(ex); ext4_ext_mark_uninitialized(ex);
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
ex3 = &newex; ex3 = &newex;
...@@ -2670,7 +2623,8 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, ...@@ -2670,7 +2623,8 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
goto fix_extent_len; goto fix_extent_len;
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex,
ext4_ext_pblock(&orig_ex));
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
/* blocks available from map->m_lblk */ /* blocks available from map->m_lblk */
return allocated; return allocated;
...@@ -2727,7 +2681,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, ...@@ -2727,7 +2681,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
/* update the extent length and mark as initialized */ /* update the extent length and mark as initialized */
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
/* zeroed the full extent */ /* zeroed the full extent */
/* blocks available from map->m_lblk */ /* blocks available from map->m_lblk */
...@@ -2778,7 +2732,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, ...@@ -2778,7 +2732,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
/* update the extent length and mark as initialized */ /* update the extent length and mark as initialized */
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
/* zero out the first half */ /* zero out the first half */
/* blocks available from map->m_lblk */ /* blocks available from map->m_lblk */
...@@ -2847,7 +2801,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, ...@@ -2847,7 +2801,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
/* update the extent length and mark as initialized */ /* update the extent length and mark as initialized */
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
/* zero out the first half */ /* zero out the first half */
return allocated; return allocated;
...@@ -2860,7 +2814,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle, ...@@ -2860,7 +2814,7 @@ static int ext4_ext_convert_to_initialized(handle_t *handle,
fix_extent_len: fix_extent_len:
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_mark_uninitialized(ex); ext4_ext_mark_uninitialized(ex);
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
return err; return err;
...@@ -2918,12 +2872,12 @@ static int ext4_split_unwritten_extents(handle_t *handle, ...@@ -2918,12 +2872,12 @@ static int ext4_split_unwritten_extents(handle_t *handle,
ee_block = le32_to_cpu(ex->ee_block); ee_block = le32_to_cpu(ex->ee_block);
ee_len = ext4_ext_get_actual_len(ex); ee_len = ext4_ext_get_actual_len(ex);
allocated = ee_len - (map->m_lblk - ee_block); allocated = ee_len - (map->m_lblk - ee_block);
newblock = map->m_lblk - ee_block + ext_pblock(ex); newblock = map->m_lblk - ee_block + ext4_ext_pblock(ex);
ex2 = ex; ex2 = ex;
orig_ex.ee_block = ex->ee_block; orig_ex.ee_block = ex->ee_block;
orig_ex.ee_len = cpu_to_le16(ee_len); orig_ex.ee_len = cpu_to_le16(ee_len);
ext4_ext_store_pblock(&orig_ex, ext_pblock(ex)); ext4_ext_store_pblock(&orig_ex, ext4_ext_pblock(ex));
/* /*
* It is safe to convert extent to initialized via explicit * It is safe to convert extent to initialized via explicit
...@@ -2972,7 +2926,7 @@ static int ext4_split_unwritten_extents(handle_t *handle, ...@@ -2972,7 +2926,7 @@ static int ext4_split_unwritten_extents(handle_t *handle,
/* update the extent length and mark as initialized */ /* update the extent length and mark as initialized */
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
/* zeroed the full extent */ /* zeroed the full extent */
/* blocks available from map->m_lblk */ /* blocks available from map->m_lblk */
...@@ -3044,7 +2998,7 @@ static int ext4_split_unwritten_extents(handle_t *handle, ...@@ -3044,7 +2998,7 @@ static int ext4_split_unwritten_extents(handle_t *handle,
/* update the extent length and mark as initialized */ /* update the extent length and mark as initialized */
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
/* zero out the first half */ /* zero out the first half */
return allocated; return allocated;
...@@ -3057,7 +3011,7 @@ static int ext4_split_unwritten_extents(handle_t *handle, ...@@ -3057,7 +3011,7 @@ static int ext4_split_unwritten_extents(handle_t *handle,
fix_extent_len: fix_extent_len:
ex->ee_block = orig_ex.ee_block; ex->ee_block = orig_ex.ee_block;
ex->ee_len = orig_ex.ee_len; ex->ee_len = orig_ex.ee_len;
ext4_ext_store_pblock(ex, ext_pblock(&orig_ex)); ext4_ext_store_pblock(ex, ext4_ext_pblock(&orig_ex));
ext4_ext_mark_uninitialized(ex); ext4_ext_mark_uninitialized(ex);
ext4_ext_dirty(handle, inode, path + depth); ext4_ext_dirty(handle, inode, path + depth);
return err; return err;
...@@ -3347,7 +3301,7 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode, ...@@ -3347,7 +3301,7 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode,
/* block is already allocated */ /* block is already allocated */
newblock = map->m_lblk newblock = map->m_lblk
- le32_to_cpu(newex.ee_block) - le32_to_cpu(newex.ee_block)
+ ext_pblock(&newex); + ext4_ext_pblock(&newex);
/* number of remaining blocks in the extent */ /* number of remaining blocks in the extent */
allocated = ext4_ext_get_actual_len(&newex) - allocated = ext4_ext_get_actual_len(&newex) -
(map->m_lblk - le32_to_cpu(newex.ee_block)); (map->m_lblk - le32_to_cpu(newex.ee_block));
...@@ -3385,7 +3339,7 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode, ...@@ -3385,7 +3339,7 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode,
ex = path[depth].p_ext; ex = path[depth].p_ext;
if (ex) { if (ex) {
ext4_lblk_t ee_block = le32_to_cpu(ex->ee_block); ext4_lblk_t ee_block = le32_to_cpu(ex->ee_block);
ext4_fsblk_t ee_start = ext_pblock(ex); ext4_fsblk_t ee_start = ext4_ext_pblock(ex);
unsigned short ee_len; unsigned short ee_len;
/* /*
...@@ -3513,13 +3467,13 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode, ...@@ -3513,13 +3467,13 @@ int ext4_ext_map_blocks(handle_t *handle, struct inode *inode,
/* not a good idea to call discard here directly, /* not a good idea to call discard here directly,
* but otherwise we'd need to call it every free() */ * but otherwise we'd need to call it every free() */
ext4_discard_preallocations(inode); ext4_discard_preallocations(inode);
ext4_free_blocks(handle, inode, 0, ext_pblock(&newex), ext4_free_blocks(handle, inode, 0, ext4_ext_pblock(&newex),
ext4_ext_get_actual_len(&newex), 0); ext4_ext_get_actual_len(&newex), 0);
goto out2; goto out2;
} }
/* previous routine could use block we allocated */ /* previous routine could use block we allocated */
newblock = ext_pblock(&newex); newblock = ext4_ext_pblock(&newex);
allocated = ext4_ext_get_actual_len(&newex); allocated = ext4_ext_get_actual_len(&newex);
if (allocated > map->m_len) if (allocated > map->m_len)
allocated = map->m_len; allocated = map->m_len;
......
...@@ -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