|
@@ -217,14 +217,14 @@ xfs_dir2_leafn_add(
|
|
* a compact.
|
|
* a compact.
|
|
*/
|
|
*/
|
|
|
|
|
|
- if (INT_GET(leaf->hdr.count, ARCH_CONVERT) == XFS_DIR2_MAX_LEAF_ENTS(mp)) {
|
|
|
|
|
|
+ if (be16_to_cpu(leaf->hdr.count) == XFS_DIR2_MAX_LEAF_ENTS(mp)) {
|
|
if (!leaf->hdr.stale)
|
|
if (!leaf->hdr.stale)
|
|
return XFS_ERROR(ENOSPC);
|
|
return XFS_ERROR(ENOSPC);
|
|
- compact = INT_GET(leaf->hdr.stale, ARCH_CONVERT) > 1;
|
|
|
|
|
|
+ compact = be16_to_cpu(leaf->hdr.stale) > 1;
|
|
} else
|
|
} else
|
|
compact = 0;
|
|
compact = 0;
|
|
ASSERT(index == 0 || INT_GET(leaf->ents[index - 1].hashval, ARCH_CONVERT) <= args->hashval);
|
|
ASSERT(index == 0 || INT_GET(leaf->ents[index - 1].hashval, ARCH_CONVERT) <= args->hashval);
|
|
- ASSERT(index == INT_GET(leaf->hdr.count, ARCH_CONVERT) ||
|
|
|
|
|
|
+ ASSERT(index == be16_to_cpu(leaf->hdr.count) ||
|
|
INT_GET(leaf->ents[index].hashval, ARCH_CONVERT) >= args->hashval);
|
|
INT_GET(leaf->ents[index].hashval, ARCH_CONVERT) >= args->hashval);
|
|
|
|
|
|
if (args->justcheck)
|
|
if (args->justcheck)
|
|
@@ -242,7 +242,7 @@ xfs_dir2_leafn_add(
|
|
* Set impossible logging indices for this case.
|
|
* Set impossible logging indices for this case.
|
|
*/
|
|
*/
|
|
else if (leaf->hdr.stale) {
|
|
else if (leaf->hdr.stale) {
|
|
- lfloglow = INT_GET(leaf->hdr.count, ARCH_CONVERT);
|
|
|
|
|
|
+ lfloglow = be16_to_cpu(leaf->hdr.count);
|
|
lfloghigh = -1;
|
|
lfloghigh = -1;
|
|
}
|
|
}
|
|
/*
|
|
/*
|
|
@@ -250,12 +250,12 @@ xfs_dir2_leafn_add(
|
|
*/
|
|
*/
|
|
if (!leaf->hdr.stale) {
|
|
if (!leaf->hdr.stale) {
|
|
lep = &leaf->ents[index];
|
|
lep = &leaf->ents[index];
|
|
- if (index < INT_GET(leaf->hdr.count, ARCH_CONVERT))
|
|
|
|
|
|
+ if (index < be16_to_cpu(leaf->hdr.count))
|
|
memmove(lep + 1, lep,
|
|
memmove(lep + 1, lep,
|
|
- (INT_GET(leaf->hdr.count, ARCH_CONVERT) - index) * sizeof(*lep));
|
|
|
|
|
|
+ (be16_to_cpu(leaf->hdr.count) - index) * sizeof(*lep));
|
|
lfloglow = index;
|
|
lfloglow = index;
|
|
- lfloghigh = INT_GET(leaf->hdr.count, ARCH_CONVERT);
|
|
|
|
- INT_MOD(leaf->hdr.count, ARCH_CONVERT, +1);
|
|
|
|
|
|
+ lfloghigh = be16_to_cpu(leaf->hdr.count);
|
|
|
|
+ be16_add(&leaf->hdr.count, 1);
|
|
}
|
|
}
|
|
/*
|
|
/*
|
|
* There are stale entries. We'll use one for the new entry.
|
|
* There are stale entries. We'll use one for the new entry.
|
|
@@ -281,7 +281,7 @@ xfs_dir2_leafn_add(
|
|
* lowstale already found.
|
|
* lowstale already found.
|
|
*/
|
|
*/
|
|
for (highstale = index;
|
|
for (highstale = index;
|
|
- highstale < INT_GET(leaf->hdr.count, ARCH_CONVERT) &&
|
|
|
|
|
|
+ highstale < be16_to_cpu(leaf->hdr.count) &&
|
|
INT_GET(leaf->ents[highstale].address, ARCH_CONVERT) !=
|
|
INT_GET(leaf->ents[highstale].address, ARCH_CONVERT) !=
|
|
XFS_DIR2_NULL_DATAPTR &&
|
|
XFS_DIR2_NULL_DATAPTR &&
|
|
(lowstale < 0 ||
|
|
(lowstale < 0 ||
|
|
@@ -294,7 +294,7 @@ xfs_dir2_leafn_add(
|
|
* Shift entries up toward the stale slot.
|
|
* Shift entries up toward the stale slot.
|
|
*/
|
|
*/
|
|
if (lowstale >= 0 &&
|
|
if (lowstale >= 0 &&
|
|
- (highstale == INT_GET(leaf->hdr.count, ARCH_CONVERT) ||
|
|
|
|
|
|
+ (highstale == be16_to_cpu(leaf->hdr.count) ||
|
|
index - lowstale - 1 < highstale - index)) {
|
|
index - lowstale - 1 < highstale - index)) {
|
|
ASSERT(INT_GET(leaf->ents[lowstale].address, ARCH_CONVERT) ==
|
|
ASSERT(INT_GET(leaf->ents[lowstale].address, ARCH_CONVERT) ==
|
|
XFS_DIR2_NULL_DATAPTR);
|
|
XFS_DIR2_NULL_DATAPTR);
|
|
@@ -323,7 +323,7 @@ xfs_dir2_leafn_add(
|
|
lfloglow = MIN(index, lfloglow);
|
|
lfloglow = MIN(index, lfloglow);
|
|
lfloghigh = MAX(highstale, lfloghigh);
|
|
lfloghigh = MAX(highstale, lfloghigh);
|
|
}
|
|
}
|
|
- INT_MOD(leaf->hdr.stale, ARCH_CONVERT, -1);
|
|
|
|
|
|
+ be16_add(&leaf->hdr.stale, -1);
|
|
}
|
|
}
|
|
/*
|
|
/*
|
|
* Insert the new entry, log everything.
|
|
* Insert the new entry, log everything.
|
|
@@ -353,16 +353,16 @@ xfs_dir2_leafn_check(
|
|
leaf = bp->data;
|
|
leaf = bp->data;
|
|
mp = dp->i_mount;
|
|
mp = dp->i_mount;
|
|
ASSERT(INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
ASSERT(INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
- ASSERT(INT_GET(leaf->hdr.count, ARCH_CONVERT) <= XFS_DIR2_MAX_LEAF_ENTS(mp));
|
|
|
|
- for (i = stale = 0; i < INT_GET(leaf->hdr.count, ARCH_CONVERT); i++) {
|
|
|
|
- if (i + 1 < INT_GET(leaf->hdr.count, ARCH_CONVERT)) {
|
|
|
|
|
|
+ ASSERT(be16_to_cpu(leaf->hdr.count) <= XFS_DIR2_MAX_LEAF_ENTS(mp));
|
|
|
|
+ for (i = stale = 0; i < be16_to_cpu(leaf->hdr.count); i++) {
|
|
|
|
+ if (i + 1 < be16_to_cpu(leaf->hdr.count)) {
|
|
ASSERT(INT_GET(leaf->ents[i].hashval, ARCH_CONVERT) <=
|
|
ASSERT(INT_GET(leaf->ents[i].hashval, ARCH_CONVERT) <=
|
|
INT_GET(leaf->ents[i + 1].hashval, ARCH_CONVERT));
|
|
INT_GET(leaf->ents[i + 1].hashval, ARCH_CONVERT));
|
|
}
|
|
}
|
|
if (INT_GET(leaf->ents[i].address, ARCH_CONVERT) == XFS_DIR2_NULL_DATAPTR)
|
|
if (INT_GET(leaf->ents[i].address, ARCH_CONVERT) == XFS_DIR2_NULL_DATAPTR)
|
|
stale++;
|
|
stale++;
|
|
}
|
|
}
|
|
- ASSERT(INT_GET(leaf->hdr.stale, ARCH_CONVERT) == stale);
|
|
|
|
|
|
+ ASSERT(be16_to_cpu(leaf->hdr.stale) == stale);
|
|
}
|
|
}
|
|
#endif /* DEBUG */
|
|
#endif /* DEBUG */
|
|
|
|
|
|
@@ -380,10 +380,10 @@ xfs_dir2_leafn_lasthash(
|
|
leaf = bp->data;
|
|
leaf = bp->data;
|
|
ASSERT(INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
ASSERT(INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
if (count)
|
|
if (count)
|
|
- *count = INT_GET(leaf->hdr.count, ARCH_CONVERT);
|
|
|
|
|
|
+ *count = be16_to_cpu(leaf->hdr.count);
|
|
if (!leaf->hdr.count)
|
|
if (!leaf->hdr.count)
|
|
return 0;
|
|
return 0;
|
|
- return INT_GET(leaf->ents[INT_GET(leaf->hdr.count, ARCH_CONVERT) - 1].hashval, ARCH_CONVERT);
|
|
|
|
|
|
+ return INT_GET(leaf->ents[be16_to_cpu(leaf->hdr.count) - 1].hashval, ARCH_CONVERT);
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -421,7 +421,7 @@ xfs_dir2_leafn_lookup_int(
|
|
leaf = bp->data;
|
|
leaf = bp->data;
|
|
ASSERT(INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
ASSERT(INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
#ifdef __KERNEL__
|
|
#ifdef __KERNEL__
|
|
- ASSERT(INT_GET(leaf->hdr.count, ARCH_CONVERT) > 0);
|
|
|
|
|
|
+ ASSERT(be16_to_cpu(leaf->hdr.count) > 0);
|
|
#endif
|
|
#endif
|
|
xfs_dir2_leafn_check(dp, bp);
|
|
xfs_dir2_leafn_check(dp, bp);
|
|
/*
|
|
/*
|
|
@@ -456,7 +456,7 @@ xfs_dir2_leafn_lookup_int(
|
|
* Loop over leaf entries with the right hash value.
|
|
* Loop over leaf entries with the right hash value.
|
|
*/
|
|
*/
|
|
for (lep = &leaf->ents[index];
|
|
for (lep = &leaf->ents[index];
|
|
- index < INT_GET(leaf->hdr.count, ARCH_CONVERT) && INT_GET(lep->hashval, ARCH_CONVERT) == args->hashval;
|
|
|
|
|
|
+ index < be16_to_cpu(leaf->hdr.count) && INT_GET(lep->hashval, ARCH_CONVERT) == args->hashval;
|
|
lep++, index++) {
|
|
lep++, index++) {
|
|
/*
|
|
/*
|
|
* Skip stale leaf entries.
|
|
* Skip stale leaf entries.
|
|
@@ -619,7 +619,7 @@ xfs_dir2_leafn_lookup_int(
|
|
* Return the final index, that will be the insertion point.
|
|
* Return the final index, that will be the insertion point.
|
|
*/
|
|
*/
|
|
*indexp = index;
|
|
*indexp = index;
|
|
- ASSERT(index == INT_GET(leaf->hdr.count, ARCH_CONVERT) || args->oknoent);
|
|
|
|
|
|
+ ASSERT(index == be16_to_cpu(leaf->hdr.count) || args->oknoent);
|
|
return XFS_ERROR(ENOENT);
|
|
return XFS_ERROR(ENOENT);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -657,12 +657,12 @@ xfs_dir2_leafn_moveents(
|
|
* destination leaf entries, open up a hole in the destination
|
|
* destination leaf entries, open up a hole in the destination
|
|
* to hold the new entries.
|
|
* to hold the new entries.
|
|
*/
|
|
*/
|
|
- if (start_d < INT_GET(leaf_d->hdr.count, ARCH_CONVERT)) {
|
|
|
|
|
|
+ if (start_d < be16_to_cpu(leaf_d->hdr.count)) {
|
|
memmove(&leaf_d->ents[start_d + count], &leaf_d->ents[start_d],
|
|
memmove(&leaf_d->ents[start_d + count], &leaf_d->ents[start_d],
|
|
- (INT_GET(leaf_d->hdr.count, ARCH_CONVERT) - start_d) *
|
|
|
|
|
|
+ (be16_to_cpu(leaf_d->hdr.count) - start_d) *
|
|
sizeof(xfs_dir2_leaf_entry_t));
|
|
sizeof(xfs_dir2_leaf_entry_t));
|
|
xfs_dir2_leaf_log_ents(tp, bp_d, start_d + count,
|
|
xfs_dir2_leaf_log_ents(tp, bp_d, start_d + count,
|
|
- count + INT_GET(leaf_d->hdr.count, ARCH_CONVERT) - 1);
|
|
|
|
|
|
+ count + be16_to_cpu(leaf_d->hdr.count) - 1);
|
|
}
|
|
}
|
|
/*
|
|
/*
|
|
* If the source has stale leaves, count the ones in the copy range
|
|
* If the source has stale leaves, count the ones in the copy range
|
|
@@ -687,7 +687,7 @@ xfs_dir2_leafn_moveents(
|
|
* If there are source entries after the ones we copied,
|
|
* If there are source entries after the ones we copied,
|
|
* delete the ones we copied by sliding the next ones down.
|
|
* delete the ones we copied by sliding the next ones down.
|
|
*/
|
|
*/
|
|
- if (start_s + count < INT_GET(leaf_s->hdr.count, ARCH_CONVERT)) {
|
|
|
|
|
|
+ if (start_s + count < be16_to_cpu(leaf_s->hdr.count)) {
|
|
memmove(&leaf_s->ents[start_s], &leaf_s->ents[start_s + count],
|
|
memmove(&leaf_s->ents[start_s], &leaf_s->ents[start_s + count],
|
|
count * sizeof(xfs_dir2_leaf_entry_t));
|
|
count * sizeof(xfs_dir2_leaf_entry_t));
|
|
xfs_dir2_leaf_log_ents(tp, bp_s, start_s, start_s + count - 1);
|
|
xfs_dir2_leaf_log_ents(tp, bp_s, start_s, start_s + count - 1);
|
|
@@ -695,10 +695,10 @@ xfs_dir2_leafn_moveents(
|
|
/*
|
|
/*
|
|
* Update the headers and log them.
|
|
* Update the headers and log them.
|
|
*/
|
|
*/
|
|
- INT_MOD(leaf_s->hdr.count, ARCH_CONVERT, -(count));
|
|
|
|
- INT_MOD(leaf_s->hdr.stale, ARCH_CONVERT, -(stale));
|
|
|
|
- INT_MOD(leaf_d->hdr.count, ARCH_CONVERT, count);
|
|
|
|
- INT_MOD(leaf_d->hdr.stale, ARCH_CONVERT, stale);
|
|
|
|
|
|
+ be16_add(&leaf_s->hdr.count, -(count));
|
|
|
|
+ be16_add(&leaf_s->hdr.stale, -(stale));
|
|
|
|
+ be16_add(&leaf_d->hdr.count, count);
|
|
|
|
+ be16_add(&leaf_d->hdr.stale, stale);
|
|
xfs_dir2_leaf_log_header(tp, bp_s);
|
|
xfs_dir2_leaf_log_header(tp, bp_s);
|
|
xfs_dir2_leaf_log_header(tp, bp_d);
|
|
xfs_dir2_leaf_log_header(tp, bp_d);
|
|
xfs_dir2_leafn_check(args->dp, bp_s);
|
|
xfs_dir2_leafn_check(args->dp, bp_s);
|
|
@@ -721,11 +721,11 @@ xfs_dir2_leafn_order(
|
|
leaf2 = leaf2_bp->data;
|
|
leaf2 = leaf2_bp->data;
|
|
ASSERT(INT_GET(leaf1->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
ASSERT(INT_GET(leaf1->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
ASSERT(INT_GET(leaf2->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
ASSERT(INT_GET(leaf2->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
- if (INT_GET(leaf1->hdr.count, ARCH_CONVERT) > 0 &&
|
|
|
|
- INT_GET(leaf2->hdr.count, ARCH_CONVERT) > 0 &&
|
|
|
|
|
|
+ if (be16_to_cpu(leaf1->hdr.count) > 0 &&
|
|
|
|
+ be16_to_cpu(leaf2->hdr.count) > 0 &&
|
|
(INT_GET(leaf2->ents[0].hashval, ARCH_CONVERT) < INT_GET(leaf1->ents[0].hashval, ARCH_CONVERT) ||
|
|
(INT_GET(leaf2->ents[0].hashval, ARCH_CONVERT) < INT_GET(leaf1->ents[0].hashval, ARCH_CONVERT) ||
|
|
- INT_GET(leaf2->ents[INT_GET(leaf2->hdr.count, ARCH_CONVERT) - 1].hashval, ARCH_CONVERT) <
|
|
|
|
- INT_GET(leaf1->ents[INT_GET(leaf1->hdr.count, ARCH_CONVERT) - 1].hashval, ARCH_CONVERT)))
|
|
|
|
|
|
+ INT_GET(leaf2->ents[be16_to_cpu(leaf2->hdr.count) - 1].hashval, ARCH_CONVERT) <
|
|
|
|
+ INT_GET(leaf1->ents[be16_to_cpu(leaf1->hdr.count) - 1].hashval, ARCH_CONVERT)))
|
|
return 1;
|
|
return 1;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -768,9 +768,9 @@ xfs_dir2_leafn_rebalance(
|
|
}
|
|
}
|
|
leaf1 = blk1->bp->data;
|
|
leaf1 = blk1->bp->data;
|
|
leaf2 = blk2->bp->data;
|
|
leaf2 = blk2->bp->data;
|
|
- oldsum = INT_GET(leaf1->hdr.count, ARCH_CONVERT) + INT_GET(leaf2->hdr.count, ARCH_CONVERT);
|
|
|
|
|
|
+ oldsum = be16_to_cpu(leaf1->hdr.count) + be16_to_cpu(leaf2->hdr.count);
|
|
#ifdef DEBUG
|
|
#ifdef DEBUG
|
|
- oldstale = INT_GET(leaf1->hdr.stale, ARCH_CONVERT) + INT_GET(leaf2->hdr.stale, ARCH_CONVERT);
|
|
|
|
|
|
+ oldstale = be16_to_cpu(leaf1->hdr.stale) + be16_to_cpu(leaf2->hdr.stale);
|
|
#endif
|
|
#endif
|
|
mid = oldsum >> 1;
|
|
mid = oldsum >> 1;
|
|
/*
|
|
/*
|
|
@@ -780,8 +780,8 @@ xfs_dir2_leafn_rebalance(
|
|
if (oldsum & 1) {
|
|
if (oldsum & 1) {
|
|
xfs_dahash_t midhash; /* middle entry hash value */
|
|
xfs_dahash_t midhash; /* middle entry hash value */
|
|
|
|
|
|
- if (mid >= INT_GET(leaf1->hdr.count, ARCH_CONVERT))
|
|
|
|
- midhash = INT_GET(leaf2->ents[mid - INT_GET(leaf1->hdr.count, ARCH_CONVERT)].hashval, ARCH_CONVERT);
|
|
|
|
|
|
+ if (mid >= be16_to_cpu(leaf1->hdr.count))
|
|
|
|
+ midhash = INT_GET(leaf2->ents[mid - be16_to_cpu(leaf1->hdr.count)].hashval, ARCH_CONVERT);
|
|
else
|
|
else
|
|
midhash = INT_GET(leaf1->ents[mid].hashval, ARCH_CONVERT);
|
|
midhash = INT_GET(leaf1->ents[mid].hashval, ARCH_CONVERT);
|
|
isleft = args->hashval <= midhash;
|
|
isleft = args->hashval <= midhash;
|
|
@@ -797,30 +797,30 @@ xfs_dir2_leafn_rebalance(
|
|
* Calculate moved entry count. Positive means left-to-right,
|
|
* Calculate moved entry count. Positive means left-to-right,
|
|
* negative means right-to-left. Then move the entries.
|
|
* negative means right-to-left. Then move the entries.
|
|
*/
|
|
*/
|
|
- count = INT_GET(leaf1->hdr.count, ARCH_CONVERT) - mid + (isleft == 0);
|
|
|
|
|
|
+ count = be16_to_cpu(leaf1->hdr.count) - mid + (isleft == 0);
|
|
if (count > 0)
|
|
if (count > 0)
|
|
xfs_dir2_leafn_moveents(args, blk1->bp,
|
|
xfs_dir2_leafn_moveents(args, blk1->bp,
|
|
- INT_GET(leaf1->hdr.count, ARCH_CONVERT) - count, blk2->bp, 0, count);
|
|
|
|
|
|
+ be16_to_cpu(leaf1->hdr.count) - count, blk2->bp, 0, count);
|
|
else if (count < 0)
|
|
else if (count < 0)
|
|
xfs_dir2_leafn_moveents(args, blk2->bp, 0, blk1->bp,
|
|
xfs_dir2_leafn_moveents(args, blk2->bp, 0, blk1->bp,
|
|
- INT_GET(leaf1->hdr.count, ARCH_CONVERT), count);
|
|
|
|
- ASSERT(INT_GET(leaf1->hdr.count, ARCH_CONVERT) + INT_GET(leaf2->hdr.count, ARCH_CONVERT) == oldsum);
|
|
|
|
- ASSERT(INT_GET(leaf1->hdr.stale, ARCH_CONVERT) + INT_GET(leaf2->hdr.stale, ARCH_CONVERT) == oldstale);
|
|
|
|
|
|
+ be16_to_cpu(leaf1->hdr.count), count);
|
|
|
|
+ ASSERT(be16_to_cpu(leaf1->hdr.count) + be16_to_cpu(leaf2->hdr.count) == oldsum);
|
|
|
|
+ ASSERT(be16_to_cpu(leaf1->hdr.stale) + be16_to_cpu(leaf2->hdr.stale) == oldstale);
|
|
/*
|
|
/*
|
|
* Mark whether we're inserting into the old or new leaf.
|
|
* Mark whether we're inserting into the old or new leaf.
|
|
*/
|
|
*/
|
|
- if (INT_GET(leaf1->hdr.count, ARCH_CONVERT) < INT_GET(leaf2->hdr.count, ARCH_CONVERT))
|
|
|
|
|
|
+ if (be16_to_cpu(leaf1->hdr.count) < be16_to_cpu(leaf2->hdr.count))
|
|
state->inleaf = swap;
|
|
state->inleaf = swap;
|
|
- else if (INT_GET(leaf1->hdr.count, ARCH_CONVERT) > INT_GET(leaf2->hdr.count, ARCH_CONVERT))
|
|
|
|
|
|
+ else if (be16_to_cpu(leaf1->hdr.count) > be16_to_cpu(leaf2->hdr.count))
|
|
state->inleaf = !swap;
|
|
state->inleaf = !swap;
|
|
else
|
|
else
|
|
state->inleaf =
|
|
state->inleaf =
|
|
- swap ^ (blk1->index <= INT_GET(leaf1->hdr.count, ARCH_CONVERT));
|
|
|
|
|
|
+ swap ^ (blk1->index <= be16_to_cpu(leaf1->hdr.count));
|
|
/*
|
|
/*
|
|
* Adjust the expected index for insertion.
|
|
* Adjust the expected index for insertion.
|
|
*/
|
|
*/
|
|
if (!state->inleaf)
|
|
if (!state->inleaf)
|
|
- blk2->index = blk1->index - INT_GET(leaf1->hdr.count, ARCH_CONVERT);
|
|
|
|
|
|
+ blk2->index = blk1->index - be16_to_cpu(leaf1->hdr.count);
|
|
|
|
|
|
/*
|
|
/*
|
|
* Finally sanity check just to make sure we are not returning a negative index
|
|
* Finally sanity check just to make sure we are not returning a negative index
|
|
@@ -883,7 +883,7 @@ xfs_dir2_leafn_remove(
|
|
* Kill the leaf entry by marking it stale.
|
|
* Kill the leaf entry by marking it stale.
|
|
* Log the leaf block changes.
|
|
* Log the leaf block changes.
|
|
*/
|
|
*/
|
|
- INT_MOD(leaf->hdr.stale, ARCH_CONVERT, +1);
|
|
|
|
|
|
+ be16_add(&leaf->hdr.stale, 1);
|
|
xfs_dir2_leaf_log_header(tp, bp);
|
|
xfs_dir2_leaf_log_header(tp, bp);
|
|
INT_SET(lep->address, ARCH_CONVERT, XFS_DIR2_NULL_DATAPTR);
|
|
INT_SET(lep->address, ARCH_CONVERT, XFS_DIR2_NULL_DATAPTR);
|
|
xfs_dir2_leaf_log_ents(tp, bp, index, index);
|
|
xfs_dir2_leaf_log_ents(tp, bp, index, index);
|
|
@@ -1039,7 +1039,7 @@ xfs_dir2_leafn_remove(
|
|
*rval =
|
|
*rval =
|
|
((uint)sizeof(leaf->hdr) +
|
|
((uint)sizeof(leaf->hdr) +
|
|
(uint)sizeof(leaf->ents[0]) *
|
|
(uint)sizeof(leaf->ents[0]) *
|
|
- (INT_GET(leaf->hdr.count, ARCH_CONVERT) - INT_GET(leaf->hdr.stale, ARCH_CONVERT))) <
|
|
|
|
|
|
+ (be16_to_cpu(leaf->hdr.count) - be16_to_cpu(leaf->hdr.stale))) <
|
|
mp->m_dir_magicpct;
|
|
mp->m_dir_magicpct;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -1140,7 +1140,7 @@ xfs_dir2_leafn_toosmall(
|
|
info = blk->bp->data;
|
|
info = blk->bp->data;
|
|
ASSERT(INT_GET(info->magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
ASSERT(INT_GET(info->magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
leaf = (xfs_dir2_leaf_t *)info;
|
|
leaf = (xfs_dir2_leaf_t *)info;
|
|
- count = INT_GET(leaf->hdr.count, ARCH_CONVERT) - INT_GET(leaf->hdr.stale, ARCH_CONVERT);
|
|
|
|
|
|
+ count = be16_to_cpu(leaf->hdr.count) - be16_to_cpu(leaf->hdr.stale);
|
|
bytes = (uint)sizeof(leaf->hdr) + count * (uint)sizeof(leaf->ents[0]);
|
|
bytes = (uint)sizeof(leaf->hdr) + count * (uint)sizeof(leaf->ents[0]);
|
|
if (bytes > (state->blocksize >> 1)) {
|
|
if (bytes > (state->blocksize >> 1)) {
|
|
/*
|
|
/*
|
|
@@ -1194,11 +1194,11 @@ xfs_dir2_leafn_toosmall(
|
|
* Count bytes in the two blocks combined.
|
|
* Count bytes in the two blocks combined.
|
|
*/
|
|
*/
|
|
leaf = (xfs_dir2_leaf_t *)info;
|
|
leaf = (xfs_dir2_leaf_t *)info;
|
|
- count = INT_GET(leaf->hdr.count, ARCH_CONVERT) - INT_GET(leaf->hdr.stale, ARCH_CONVERT);
|
|
|
|
|
|
+ count = be16_to_cpu(leaf->hdr.count) - be16_to_cpu(leaf->hdr.stale);
|
|
bytes = state->blocksize - (state->blocksize >> 2);
|
|
bytes = state->blocksize - (state->blocksize >> 2);
|
|
leaf = bp->data;
|
|
leaf = bp->data;
|
|
ASSERT(INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
ASSERT(INT_GET(leaf->hdr.info.magic, ARCH_CONVERT) == XFS_DIR2_LEAFN_MAGIC);
|
|
- count += INT_GET(leaf->hdr.count, ARCH_CONVERT) - INT_GET(leaf->hdr.stale, ARCH_CONVERT);
|
|
|
|
|
|
+ count += be16_to_cpu(leaf->hdr.count) - be16_to_cpu(leaf->hdr.stale);
|
|
bytes -= count * (uint)sizeof(leaf->ents[0]);
|
|
bytes -= count * (uint)sizeof(leaf->ents[0]);
|
|
/*
|
|
/*
|
|
* Fits with at least 25% to spare.
|
|
* Fits with at least 25% to spare.
|
|
@@ -1262,21 +1262,21 @@ xfs_dir2_leafn_unbalance(
|
|
* If there are any stale leaf entries, take this opportunity
|
|
* If there are any stale leaf entries, take this opportunity
|
|
* to purge them.
|
|
* to purge them.
|
|
*/
|
|
*/
|
|
- if (INT_GET(drop_leaf->hdr.stale, ARCH_CONVERT))
|
|
|
|
|
|
+ if (drop_leaf->hdr.stale)
|
|
xfs_dir2_leaf_compact(args, drop_blk->bp);
|
|
xfs_dir2_leaf_compact(args, drop_blk->bp);
|
|
- if (INT_GET(save_leaf->hdr.stale, ARCH_CONVERT))
|
|
|
|
|
|
+ if (save_leaf->hdr.stale)
|
|
xfs_dir2_leaf_compact(args, save_blk->bp);
|
|
xfs_dir2_leaf_compact(args, save_blk->bp);
|
|
/*
|
|
/*
|
|
* Move the entries from drop to the appropriate end of save.
|
|
* Move the entries from drop to the appropriate end of save.
|
|
*/
|
|
*/
|
|
- drop_blk->hashval = INT_GET(drop_leaf->ents[INT_GET(drop_leaf->hdr.count, ARCH_CONVERT) - 1].hashval, ARCH_CONVERT);
|
|
|
|
|
|
+ drop_blk->hashval = INT_GET(drop_leaf->ents[be16_to_cpu(drop_leaf->hdr.count) - 1].hashval, ARCH_CONVERT);
|
|
if (xfs_dir2_leafn_order(save_blk->bp, drop_blk->bp))
|
|
if (xfs_dir2_leafn_order(save_blk->bp, drop_blk->bp))
|
|
xfs_dir2_leafn_moveents(args, drop_blk->bp, 0, save_blk->bp, 0,
|
|
xfs_dir2_leafn_moveents(args, drop_blk->bp, 0, save_blk->bp, 0,
|
|
- INT_GET(drop_leaf->hdr.count, ARCH_CONVERT));
|
|
|
|
|
|
+ be16_to_cpu(drop_leaf->hdr.count));
|
|
else
|
|
else
|
|
xfs_dir2_leafn_moveents(args, drop_blk->bp, 0, save_blk->bp,
|
|
xfs_dir2_leafn_moveents(args, drop_blk->bp, 0, save_blk->bp,
|
|
- INT_GET(save_leaf->hdr.count, ARCH_CONVERT), INT_GET(drop_leaf->hdr.count, ARCH_CONVERT));
|
|
|
|
- save_blk->hashval = INT_GET(save_leaf->ents[INT_GET(save_leaf->hdr.count, ARCH_CONVERT) - 1].hashval, ARCH_CONVERT);
|
|
|
|
|
|
+ be16_to_cpu(save_leaf->hdr.count), be16_to_cpu(drop_leaf->hdr.count));
|
|
|
|
+ save_blk->hashval = INT_GET(save_leaf->ents[be16_to_cpu(save_leaf->hdr.count) - 1].hashval, ARCH_CONVERT);
|
|
xfs_dir2_leafn_check(args->dp, save_blk->bp);
|
|
xfs_dir2_leafn_check(args->dp, save_blk->bp);
|
|
}
|
|
}
|
|
|
|
|