Commit e4e542a6 authored by Gustavo A. R. Silva's avatar Gustavo A. R. Silva Committed by Darrick J. Wong

xfs: use swap macro in xfs_dir2_leafn_rebalance

Make use of the swap macro and remove unnecessary variable *tmp*. This
makes the code easier to read and maintain. Also, slightly refactor some
code.

This code was detected with the help of Coccinelle.
Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent 897992b7
...@@ -1012,7 +1012,7 @@ xfs_dir2_leafn_rebalance( ...@@ -1012,7 +1012,7 @@ xfs_dir2_leafn_rebalance(
int oldstale; /* old count of stale leaves */ int oldstale; /* old count of stale leaves */
#endif #endif
int oldsum; /* old total leaf count */ int oldsum; /* old total leaf count */
int swap; /* swapped leaf blocks */ int swap_blocks; /* swapped leaf blocks */
struct xfs_dir2_leaf_entry *ents1; struct xfs_dir2_leaf_entry *ents1;
struct xfs_dir2_leaf_entry *ents2; struct xfs_dir2_leaf_entry *ents2;
struct xfs_dir3_icleaf_hdr hdr1; struct xfs_dir3_icleaf_hdr hdr1;
...@@ -1023,13 +1023,10 @@ xfs_dir2_leafn_rebalance( ...@@ -1023,13 +1023,10 @@ xfs_dir2_leafn_rebalance(
/* /*
* If the block order is wrong, swap the arguments. * If the block order is wrong, swap the arguments.
*/ */
if ((swap = xfs_dir2_leafn_order(dp, blk1->bp, blk2->bp))) { swap_blocks = xfs_dir2_leafn_order(dp, blk1->bp, blk2->bp);
xfs_da_state_blk_t *tmp; /* temp for block swap */ if (swap_blocks)
swap(blk1, blk2);
tmp = blk1;
blk1 = blk2;
blk2 = tmp;
}
leaf1 = blk1->bp->b_addr; leaf1 = blk1->bp->b_addr;
leaf2 = blk2->bp->b_addr; leaf2 = blk2->bp->b_addr;
dp->d_ops->leaf_hdr_from_disk(&hdr1, leaf1); dp->d_ops->leaf_hdr_from_disk(&hdr1, leaf1);
...@@ -1093,11 +1090,11 @@ xfs_dir2_leafn_rebalance( ...@@ -1093,11 +1090,11 @@ xfs_dir2_leafn_rebalance(
* Mark whether we're inserting into the old or new leaf. * Mark whether we're inserting into the old or new leaf.
*/ */
if (hdr1.count < hdr2.count) if (hdr1.count < hdr2.count)
state->inleaf = swap; state->inleaf = swap_blocks;
else if (hdr1.count > hdr2.count) else if (hdr1.count > hdr2.count)
state->inleaf = !swap; state->inleaf = !swap_blocks;
else else
state->inleaf = swap ^ (blk1->index <= hdr1.count); state->inleaf = swap_blocks ^ (blk1->index <= hdr1.count);
/* /*
* Adjust the expected index for insertion. * Adjust the expected index for insertion.
*/ */
......
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