Commit bbaaf538 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Tim Shimmin

[XFS] Reduce shouting by removing unnecessary macros from dir2 code.

SGI-PV: 966505
SGI-Modid: xfs-linux-melb:xfs-kern:28947a
Signed-off-by: default avatarChristoph Hellwig <hch@infradead.org>
Signed-off-by: default avatarDavid Chinner <dgc@sgi.com>
Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
parent 54aa8e26
...@@ -55,9 +55,9 @@ xfs_dir_mount( ...@@ -55,9 +55,9 @@ xfs_dir_mount(
XFS_MAX_BLOCKSIZE); XFS_MAX_BLOCKSIZE);
mp->m_dirblksize = 1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog); mp->m_dirblksize = 1 << (mp->m_sb.sb_blocklog + mp->m_sb.sb_dirblklog);
mp->m_dirblkfsbs = 1 << mp->m_sb.sb_dirblklog; mp->m_dirblkfsbs = 1 << mp->m_sb.sb_dirblklog;
mp->m_dirdatablk = XFS_DIR2_DB_TO_DA(mp, XFS_DIR2_DATA_FIRSTDB(mp)); mp->m_dirdatablk = xfs_dir2_db_to_da(mp, XFS_DIR2_DATA_FIRSTDB(mp));
mp->m_dirleafblk = XFS_DIR2_DB_TO_DA(mp, XFS_DIR2_LEAF_FIRSTDB(mp)); mp->m_dirleafblk = xfs_dir2_db_to_da(mp, XFS_DIR2_LEAF_FIRSTDB(mp));
mp->m_dirfreeblk = XFS_DIR2_DB_TO_DA(mp, XFS_DIR2_FREE_FIRSTDB(mp)); mp->m_dirfreeblk = xfs_dir2_db_to_da(mp, XFS_DIR2_FREE_FIRSTDB(mp));
mp->m_attr_node_ents = mp->m_attr_node_ents =
(mp->m_sb.sb_blocksize - (uint)sizeof(xfs_da_node_hdr_t)) / (mp->m_sb.sb_blocksize - (uint)sizeof(xfs_da_node_hdr_t)) /
(uint)sizeof(xfs_da_node_entry_t); (uint)sizeof(xfs_da_node_entry_t);
...@@ -554,7 +554,7 @@ xfs_dir2_grow_inode( ...@@ -554,7 +554,7 @@ xfs_dir2_grow_inode(
*/ */
if (mapp != &map) if (mapp != &map)
kmem_free(mapp, sizeof(*mapp) * count); kmem_free(mapp, sizeof(*mapp) * count);
*dbp = XFS_DIR2_DA_TO_DB(mp, (xfs_dablk_t)bno); *dbp = xfs_dir2_da_to_db(mp, (xfs_dablk_t)bno);
/* /*
* Update file's size if this is the data space and it grew. * Update file's size if this is the data space and it grew.
*/ */
...@@ -706,7 +706,7 @@ xfs_dir2_shrink_inode( ...@@ -706,7 +706,7 @@ xfs_dir2_shrink_inode(
dp = args->dp; dp = args->dp;
mp = dp->i_mount; mp = dp->i_mount;
tp = args->trans; tp = args->trans;
da = XFS_DIR2_DB_TO_DA(mp, db); da = xfs_dir2_db_to_da(mp, db);
/* /*
* Unmap the fsblock(s). * Unmap the fsblock(s).
*/ */
...@@ -742,7 +742,7 @@ xfs_dir2_shrink_inode( ...@@ -742,7 +742,7 @@ xfs_dir2_shrink_inode(
/* /*
* If the block isn't the last one in the directory, we're done. * If the block isn't the last one in the directory, we're done.
*/ */
if (dp->i_d.di_size > XFS_DIR2_DB_OFF_TO_BYTE(mp, db + 1, 0)) if (dp->i_d.di_size > xfs_dir2_db_off_to_byte(mp, db + 1, 0))
return 0; return 0;
bno = da; bno = da;
if ((error = xfs_bmap_last_before(tp, dp, &bno, XFS_DATA_FORK))) { if ((error = xfs_bmap_last_before(tp, dp, &bno, XFS_DATA_FORK))) {
......
This diff is collapsed.
...@@ -60,7 +60,6 @@ typedef struct xfs_dir2_block { ...@@ -60,7 +60,6 @@ typedef struct xfs_dir2_block {
/* /*
* Pointer to the leaf header embedded in a data block (1-block format) * Pointer to the leaf header embedded in a data block (1-block format)
*/ */
#define XFS_DIR2_BLOCK_TAIL_P(mp,block) xfs_dir2_block_tail_p(mp,block)
static inline xfs_dir2_block_tail_t * static inline xfs_dir2_block_tail_t *
xfs_dir2_block_tail_p(struct xfs_mount *mp, xfs_dir2_block_t *block) xfs_dir2_block_tail_p(struct xfs_mount *mp, xfs_dir2_block_t *block)
{ {
...@@ -71,7 +70,6 @@ xfs_dir2_block_tail_p(struct xfs_mount *mp, xfs_dir2_block_t *block) ...@@ -71,7 +70,6 @@ xfs_dir2_block_tail_p(struct xfs_mount *mp, xfs_dir2_block_t *block)
/* /*
* Pointer to the leaf entries embedded in a data block (1-block format) * Pointer to the leaf entries embedded in a data block (1-block format)
*/ */
#define XFS_DIR2_BLOCK_LEAF_P(btp) xfs_dir2_block_leaf_p(btp)
static inline struct xfs_dir2_leaf_entry * static inline struct xfs_dir2_leaf_entry *
xfs_dir2_block_leaf_p(xfs_dir2_block_tail_t *btp) xfs_dir2_block_leaf_p(xfs_dir2_block_tail_t *btp)
{ {
......
...@@ -72,8 +72,8 @@ xfs_dir2_data_check( ...@@ -72,8 +72,8 @@ xfs_dir2_data_check(
bf = d->hdr.bestfree; bf = d->hdr.bestfree;
p = (char *)d->u; p = (char *)d->u;
if (be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) { if (be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) {
btp = XFS_DIR2_BLOCK_TAIL_P(mp, (xfs_dir2_block_t *)d); btp = xfs_dir2_block_tail_p(mp, (xfs_dir2_block_t *)d);
lep = XFS_DIR2_BLOCK_LEAF_P(btp); lep = xfs_dir2_block_leaf_p(btp);
endp = (char *)lep; endp = (char *)lep;
} else } else
endp = (char *)d + mp->m_dirblksize; endp = (char *)d + mp->m_dirblksize;
...@@ -107,7 +107,7 @@ xfs_dir2_data_check( ...@@ -107,7 +107,7 @@ xfs_dir2_data_check(
*/ */
if (be16_to_cpu(dup->freetag) == XFS_DIR2_DATA_FREE_TAG) { if (be16_to_cpu(dup->freetag) == XFS_DIR2_DATA_FREE_TAG) {
ASSERT(lastfree == 0); ASSERT(lastfree == 0);
ASSERT(be16_to_cpu(*XFS_DIR2_DATA_UNUSED_TAG_P(dup)) == ASSERT(be16_to_cpu(*xfs_dir2_data_unused_tag_p(dup)) ==
(char *)dup - (char *)d); (char *)dup - (char *)d);
dfp = xfs_dir2_data_freefind(d, dup); dfp = xfs_dir2_data_freefind(d, dup);
if (dfp) { if (dfp) {
...@@ -131,12 +131,12 @@ xfs_dir2_data_check( ...@@ -131,12 +131,12 @@ xfs_dir2_data_check(
dep = (xfs_dir2_data_entry_t *)p; dep = (xfs_dir2_data_entry_t *)p;
ASSERT(dep->namelen != 0); ASSERT(dep->namelen != 0);
ASSERT(xfs_dir_ino_validate(mp, be64_to_cpu(dep->inumber)) == 0); ASSERT(xfs_dir_ino_validate(mp, be64_to_cpu(dep->inumber)) == 0);
ASSERT(be16_to_cpu(*XFS_DIR2_DATA_ENTRY_TAG_P(dep)) == ASSERT(be16_to_cpu(*xfs_dir2_data_entry_tag_p(dep)) ==
(char *)dep - (char *)d); (char *)dep - (char *)d);
count++; count++;
lastfree = 0; lastfree = 0;
if (be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) { if (be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) {
addr = XFS_DIR2_DB_OFF_TO_DATAPTR(mp, mp->m_dirdatablk, addr = xfs_dir2_db_off_to_dataptr(mp, mp->m_dirdatablk,
(xfs_dir2_data_aoff_t) (xfs_dir2_data_aoff_t)
((char *)dep - (char *)d)); ((char *)dep - (char *)d));
hash = xfs_da_hashname((char *)dep->name, dep->namelen); hash = xfs_da_hashname((char *)dep->name, dep->namelen);
...@@ -147,7 +147,7 @@ xfs_dir2_data_check( ...@@ -147,7 +147,7 @@ xfs_dir2_data_check(
} }
ASSERT(i < be32_to_cpu(btp->count)); ASSERT(i < be32_to_cpu(btp->count));
} }
p += XFS_DIR2_DATA_ENTSIZE(dep->namelen); p += xfs_dir2_data_entsize(dep->namelen);
} }
/* /*
* Need to have seen all the entries and all the bestfree slots. * Need to have seen all the entries and all the bestfree slots.
...@@ -346,8 +346,8 @@ xfs_dir2_data_freescan( ...@@ -346,8 +346,8 @@ xfs_dir2_data_freescan(
*/ */
p = (char *)d->u; p = (char *)d->u;
if (be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) { if (be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) {
btp = XFS_DIR2_BLOCK_TAIL_P(mp, (xfs_dir2_block_t *)d); btp = xfs_dir2_block_tail_p(mp, (xfs_dir2_block_t *)d);
endp = (char *)XFS_DIR2_BLOCK_LEAF_P(btp); endp = (char *)xfs_dir2_block_leaf_p(btp);
} else } else
endp = (char *)d + mp->m_dirblksize; endp = (char *)d + mp->m_dirblksize;
/* /*
...@@ -360,7 +360,7 @@ xfs_dir2_data_freescan( ...@@ -360,7 +360,7 @@ xfs_dir2_data_freescan(
*/ */
if (be16_to_cpu(dup->freetag) == XFS_DIR2_DATA_FREE_TAG) { if (be16_to_cpu(dup->freetag) == XFS_DIR2_DATA_FREE_TAG) {
ASSERT((char *)dup - (char *)d == ASSERT((char *)dup - (char *)d ==
be16_to_cpu(*XFS_DIR2_DATA_UNUSED_TAG_P(dup))); be16_to_cpu(*xfs_dir2_data_unused_tag_p(dup)));
xfs_dir2_data_freeinsert(d, dup, loghead); xfs_dir2_data_freeinsert(d, dup, loghead);
p += be16_to_cpu(dup->length); p += be16_to_cpu(dup->length);
} }
...@@ -370,8 +370,8 @@ xfs_dir2_data_freescan( ...@@ -370,8 +370,8 @@ xfs_dir2_data_freescan(
else { else {
dep = (xfs_dir2_data_entry_t *)p; dep = (xfs_dir2_data_entry_t *)p;
ASSERT((char *)dep - (char *)d == ASSERT((char *)dep - (char *)d ==
be16_to_cpu(*XFS_DIR2_DATA_ENTRY_TAG_P(dep))); be16_to_cpu(*xfs_dir2_data_entry_tag_p(dep)));
p += XFS_DIR2_DATA_ENTSIZE(dep->namelen); p += xfs_dir2_data_entsize(dep->namelen);
} }
} }
} }
...@@ -402,7 +402,7 @@ xfs_dir2_data_init( ...@@ -402,7 +402,7 @@ xfs_dir2_data_init(
/* /*
* Get the buffer set up for the block. * Get the buffer set up for the block.
*/ */
error = xfs_da_get_buf(tp, dp, XFS_DIR2_DB_TO_DA(mp, blkno), -1, &bp, error = xfs_da_get_buf(tp, dp, xfs_dir2_db_to_da(mp, blkno), -1, &bp,
XFS_DATA_FORK); XFS_DATA_FORK);
if (error) { if (error) {
return error; return error;
...@@ -427,7 +427,7 @@ xfs_dir2_data_init( ...@@ -427,7 +427,7 @@ xfs_dir2_data_init(
t=mp->m_dirblksize - (uint)sizeof(d->hdr); t=mp->m_dirblksize - (uint)sizeof(d->hdr);
d->hdr.bestfree[0].length = cpu_to_be16(t); d->hdr.bestfree[0].length = cpu_to_be16(t);
dup->length = cpu_to_be16(t); dup->length = cpu_to_be16(t);
*XFS_DIR2_DATA_UNUSED_TAG_P(dup) = cpu_to_be16((char *)dup - (char *)d); *xfs_dir2_data_unused_tag_p(dup) = cpu_to_be16((char *)dup - (char *)d);
/* /*
* Log it and return it. * Log it and return it.
*/ */
...@@ -452,7 +452,7 @@ xfs_dir2_data_log_entry( ...@@ -452,7 +452,7 @@ xfs_dir2_data_log_entry(
ASSERT(be32_to_cpu(d->hdr.magic) == XFS_DIR2_DATA_MAGIC || ASSERT(be32_to_cpu(d->hdr.magic) == XFS_DIR2_DATA_MAGIC ||
be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC); be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC);
xfs_da_log_buf(tp, bp, (uint)((char *)dep - (char *)d), xfs_da_log_buf(tp, bp, (uint)((char *)dep - (char *)d),
(uint)((char *)(XFS_DIR2_DATA_ENTRY_TAG_P(dep) + 1) - (uint)((char *)(xfs_dir2_data_entry_tag_p(dep) + 1) -
(char *)d - 1)); (char *)d - 1));
} }
...@@ -497,8 +497,8 @@ xfs_dir2_data_log_unused( ...@@ -497,8 +497,8 @@ xfs_dir2_data_log_unused(
* Log the end (tag) of the unused entry. * Log the end (tag) of the unused entry.
*/ */
xfs_da_log_buf(tp, bp, xfs_da_log_buf(tp, bp,
(uint)((char *)XFS_DIR2_DATA_UNUSED_TAG_P(dup) - (char *)d), (uint)((char *)xfs_dir2_data_unused_tag_p(dup) - (char *)d),
(uint)((char *)XFS_DIR2_DATA_UNUSED_TAG_P(dup) - (char *)d + (uint)((char *)xfs_dir2_data_unused_tag_p(dup) - (char *)d +
sizeof(xfs_dir2_data_off_t) - 1)); sizeof(xfs_dir2_data_off_t) - 1));
} }
...@@ -535,8 +535,8 @@ xfs_dir2_data_make_free( ...@@ -535,8 +535,8 @@ xfs_dir2_data_make_free(
xfs_dir2_block_tail_t *btp; /* block tail */ xfs_dir2_block_tail_t *btp; /* block tail */
ASSERT(be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC); ASSERT(be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC);
btp = XFS_DIR2_BLOCK_TAIL_P(mp, (xfs_dir2_block_t *)d); btp = xfs_dir2_block_tail_p(mp, (xfs_dir2_block_t *)d);
endptr = (char *)XFS_DIR2_BLOCK_LEAF_P(btp); endptr = (char *)xfs_dir2_block_leaf_p(btp);
} }
/* /*
* If this isn't the start of the block, then back up to * If this isn't the start of the block, then back up to
...@@ -587,7 +587,7 @@ xfs_dir2_data_make_free( ...@@ -587,7 +587,7 @@ xfs_dir2_data_make_free(
* Fix up the new big freespace. * Fix up the new big freespace.
*/ */
be16_add(&prevdup->length, len + be16_to_cpu(postdup->length)); be16_add(&prevdup->length, len + be16_to_cpu(postdup->length));
*XFS_DIR2_DATA_UNUSED_TAG_P(prevdup) = *xfs_dir2_data_unused_tag_p(prevdup) =
cpu_to_be16((char *)prevdup - (char *)d); cpu_to_be16((char *)prevdup - (char *)d);
xfs_dir2_data_log_unused(tp, bp, prevdup); xfs_dir2_data_log_unused(tp, bp, prevdup);
if (!needscan) { if (!needscan) {
...@@ -621,7 +621,7 @@ xfs_dir2_data_make_free( ...@@ -621,7 +621,7 @@ xfs_dir2_data_make_free(
else if (prevdup) { else if (prevdup) {
dfp = xfs_dir2_data_freefind(d, prevdup); dfp = xfs_dir2_data_freefind(d, prevdup);
be16_add(&prevdup->length, len); be16_add(&prevdup->length, len);
*XFS_DIR2_DATA_UNUSED_TAG_P(prevdup) = *xfs_dir2_data_unused_tag_p(prevdup) =
cpu_to_be16((char *)prevdup - (char *)d); cpu_to_be16((char *)prevdup - (char *)d);
xfs_dir2_data_log_unused(tp, bp, prevdup); xfs_dir2_data_log_unused(tp, bp, prevdup);
/* /*
...@@ -649,7 +649,7 @@ xfs_dir2_data_make_free( ...@@ -649,7 +649,7 @@ xfs_dir2_data_make_free(
newdup = (xfs_dir2_data_unused_t *)((char *)d + offset); newdup = (xfs_dir2_data_unused_t *)((char *)d + offset);
newdup->freetag = cpu_to_be16(XFS_DIR2_DATA_FREE_TAG); newdup->freetag = cpu_to_be16(XFS_DIR2_DATA_FREE_TAG);
newdup->length = cpu_to_be16(len + be16_to_cpu(postdup->length)); newdup->length = cpu_to_be16(len + be16_to_cpu(postdup->length));
*XFS_DIR2_DATA_UNUSED_TAG_P(newdup) = *xfs_dir2_data_unused_tag_p(newdup) =
cpu_to_be16((char *)newdup - (char *)d); cpu_to_be16((char *)newdup - (char *)d);
xfs_dir2_data_log_unused(tp, bp, newdup); xfs_dir2_data_log_unused(tp, bp, newdup);
/* /*
...@@ -676,7 +676,7 @@ xfs_dir2_data_make_free( ...@@ -676,7 +676,7 @@ xfs_dir2_data_make_free(
newdup = (xfs_dir2_data_unused_t *)((char *)d + offset); newdup = (xfs_dir2_data_unused_t *)((char *)d + offset);
newdup->freetag = cpu_to_be16(XFS_DIR2_DATA_FREE_TAG); newdup->freetag = cpu_to_be16(XFS_DIR2_DATA_FREE_TAG);
newdup->length = cpu_to_be16(len); newdup->length = cpu_to_be16(len);
*XFS_DIR2_DATA_UNUSED_TAG_P(newdup) = *xfs_dir2_data_unused_tag_p(newdup) =
cpu_to_be16((char *)newdup - (char *)d); cpu_to_be16((char *)newdup - (char *)d);
xfs_dir2_data_log_unused(tp, bp, newdup); xfs_dir2_data_log_unused(tp, bp, newdup);
(void)xfs_dir2_data_freeinsert(d, newdup, needlogp); (void)xfs_dir2_data_freeinsert(d, newdup, needlogp);
...@@ -712,7 +712,7 @@ xfs_dir2_data_use_free( ...@@ -712,7 +712,7 @@ xfs_dir2_data_use_free(
ASSERT(be16_to_cpu(dup->freetag) == XFS_DIR2_DATA_FREE_TAG); ASSERT(be16_to_cpu(dup->freetag) == XFS_DIR2_DATA_FREE_TAG);
ASSERT(offset >= (char *)dup - (char *)d); ASSERT(offset >= (char *)dup - (char *)d);
ASSERT(offset + len <= (char *)dup + be16_to_cpu(dup->length) - (char *)d); ASSERT(offset + len <= (char *)dup + be16_to_cpu(dup->length) - (char *)d);
ASSERT((char *)dup - (char *)d == be16_to_cpu(*XFS_DIR2_DATA_UNUSED_TAG_P(dup))); ASSERT((char *)dup - (char *)d == be16_to_cpu(*xfs_dir2_data_unused_tag_p(dup)));
/* /*
* Look up the entry in the bestfree table. * Look up the entry in the bestfree table.
*/ */
...@@ -745,7 +745,7 @@ xfs_dir2_data_use_free( ...@@ -745,7 +745,7 @@ xfs_dir2_data_use_free(
newdup = (xfs_dir2_data_unused_t *)((char *)d + offset + len); newdup = (xfs_dir2_data_unused_t *)((char *)d + offset + len);
newdup->freetag = cpu_to_be16(XFS_DIR2_DATA_FREE_TAG); newdup->freetag = cpu_to_be16(XFS_DIR2_DATA_FREE_TAG);
newdup->length = cpu_to_be16(oldlen - len); newdup->length = cpu_to_be16(oldlen - len);
*XFS_DIR2_DATA_UNUSED_TAG_P(newdup) = *xfs_dir2_data_unused_tag_p(newdup) =
cpu_to_be16((char *)newdup - (char *)d); cpu_to_be16((char *)newdup - (char *)d);
xfs_dir2_data_log_unused(tp, bp, newdup); xfs_dir2_data_log_unused(tp, bp, newdup);
/* /*
...@@ -772,7 +772,7 @@ xfs_dir2_data_use_free( ...@@ -772,7 +772,7 @@ xfs_dir2_data_use_free(
else if (matchback) { else if (matchback) {
newdup = dup; newdup = dup;
newdup->length = cpu_to_be16(((char *)d + offset) - (char *)newdup); newdup->length = cpu_to_be16(((char *)d + offset) - (char *)newdup);
*XFS_DIR2_DATA_UNUSED_TAG_P(newdup) = *xfs_dir2_data_unused_tag_p(newdup) =
cpu_to_be16((char *)newdup - (char *)d); cpu_to_be16((char *)newdup - (char *)d);
xfs_dir2_data_log_unused(tp, bp, newdup); xfs_dir2_data_log_unused(tp, bp, newdup);
/* /*
...@@ -799,13 +799,13 @@ xfs_dir2_data_use_free( ...@@ -799,13 +799,13 @@ xfs_dir2_data_use_free(
else { else {
newdup = dup; newdup = dup;
newdup->length = cpu_to_be16(((char *)d + offset) - (char *)newdup); newdup->length = cpu_to_be16(((char *)d + offset) - (char *)newdup);
*XFS_DIR2_DATA_UNUSED_TAG_P(newdup) = *xfs_dir2_data_unused_tag_p(newdup) =
cpu_to_be16((char *)newdup - (char *)d); cpu_to_be16((char *)newdup - (char *)d);
xfs_dir2_data_log_unused(tp, bp, newdup); xfs_dir2_data_log_unused(tp, bp, newdup);
newdup2 = (xfs_dir2_data_unused_t *)((char *)d + offset + len); newdup2 = (xfs_dir2_data_unused_t *)((char *)d + offset + len);
newdup2->freetag = cpu_to_be16(XFS_DIR2_DATA_FREE_TAG); newdup2->freetag = cpu_to_be16(XFS_DIR2_DATA_FREE_TAG);
newdup2->length = cpu_to_be16(oldlen - len - be16_to_cpu(newdup->length)); newdup2->length = cpu_to_be16(oldlen - len - be16_to_cpu(newdup->length));
*XFS_DIR2_DATA_UNUSED_TAG_P(newdup2) = *xfs_dir2_data_unused_tag_p(newdup2) =
cpu_to_be16((char *)newdup2 - (char *)d); cpu_to_be16((char *)newdup2 - (char *)d);
xfs_dir2_data_log_unused(tp, bp, newdup2); xfs_dir2_data_log_unused(tp, bp, newdup2);
/* /*
......
...@@ -44,7 +44,7 @@ struct xfs_trans; ...@@ -44,7 +44,7 @@ struct xfs_trans;
#define XFS_DIR2_DATA_SPACE 0 #define XFS_DIR2_DATA_SPACE 0
#define XFS_DIR2_DATA_OFFSET (XFS_DIR2_DATA_SPACE * XFS_DIR2_SPACE_SIZE) #define XFS_DIR2_DATA_OFFSET (XFS_DIR2_DATA_SPACE * XFS_DIR2_SPACE_SIZE)
#define XFS_DIR2_DATA_FIRSTDB(mp) \ #define XFS_DIR2_DATA_FIRSTDB(mp) \
XFS_DIR2_BYTE_TO_DB(mp, XFS_DIR2_DATA_OFFSET) xfs_dir2_byte_to_db(mp, XFS_DIR2_DATA_OFFSET)
/* /*
* Offsets of . and .. in data space (always block 0) * Offsets of . and .. in data space (always block 0)
...@@ -52,9 +52,9 @@ struct xfs_trans; ...@@ -52,9 +52,9 @@ struct xfs_trans;
#define XFS_DIR2_DATA_DOT_OFFSET \ #define XFS_DIR2_DATA_DOT_OFFSET \
((xfs_dir2_data_aoff_t)sizeof(xfs_dir2_data_hdr_t)) ((xfs_dir2_data_aoff_t)sizeof(xfs_dir2_data_hdr_t))
#define XFS_DIR2_DATA_DOTDOT_OFFSET \ #define XFS_DIR2_DATA_DOTDOT_OFFSET \
(XFS_DIR2_DATA_DOT_OFFSET + XFS_DIR2_DATA_ENTSIZE(1)) (XFS_DIR2_DATA_DOT_OFFSET + xfs_dir2_data_entsize(1))
#define XFS_DIR2_DATA_FIRST_OFFSET \ #define XFS_DIR2_DATA_FIRST_OFFSET \
(XFS_DIR2_DATA_DOTDOT_OFFSET + XFS_DIR2_DATA_ENTSIZE(2)) (XFS_DIR2_DATA_DOTDOT_OFFSET + xfs_dir2_data_entsize(2))
/* /*
* Structures. * Structures.
...@@ -123,7 +123,6 @@ typedef struct xfs_dir2_data { ...@@ -123,7 +123,6 @@ typedef struct xfs_dir2_data {
/* /*
* Size of a data entry. * Size of a data entry.
*/ */
#define XFS_DIR2_DATA_ENTSIZE(n) xfs_dir2_data_entsize(n)
static inline int xfs_dir2_data_entsize(int n) static inline int xfs_dir2_data_entsize(int n)
{ {
return (int)roundup(offsetof(xfs_dir2_data_entry_t, name[0]) + (n) + \ return (int)roundup(offsetof(xfs_dir2_data_entry_t, name[0]) + (n) + \
...@@ -133,19 +132,16 @@ static inline int xfs_dir2_data_entsize(int n) ...@@ -133,19 +132,16 @@ static inline int xfs_dir2_data_entsize(int n)
/* /*
* Pointer to an entry's tag word. * Pointer to an entry's tag word.
*/ */
#define XFS_DIR2_DATA_ENTRY_TAG_P(dep) xfs_dir2_data_entry_tag_p(dep)
static inline __be16 * static inline __be16 *
xfs_dir2_data_entry_tag_p(xfs_dir2_data_entry_t *dep) xfs_dir2_data_entry_tag_p(xfs_dir2_data_entry_t *dep)
{ {
return (__be16 *)((char *)dep + return (__be16 *)((char *)dep +
XFS_DIR2_DATA_ENTSIZE(dep->namelen) - sizeof(__be16)); xfs_dir2_data_entsize(dep->namelen) - sizeof(__be16));
} }
/* /*
* Pointer to a freespace's tag word. * Pointer to a freespace's tag word.
*/ */
#define XFS_DIR2_DATA_UNUSED_TAG_P(dup) \
xfs_dir2_data_unused_tag_p(dup)
static inline __be16 * static inline __be16 *
xfs_dir2_data_unused_tag_p(xfs_dir2_data_unused_t *dup) xfs_dir2_data_unused_tag_p(xfs_dir2_data_unused_t *dup)
{ {
......
This diff is collapsed.
...@@ -32,7 +32,7 @@ struct xfs_trans; ...@@ -32,7 +32,7 @@ struct xfs_trans;
#define XFS_DIR2_LEAF_SPACE 1 #define XFS_DIR2_LEAF_SPACE 1
#define XFS_DIR2_LEAF_OFFSET (XFS_DIR2_LEAF_SPACE * XFS_DIR2_SPACE_SIZE) #define XFS_DIR2_LEAF_OFFSET (XFS_DIR2_LEAF_SPACE * XFS_DIR2_SPACE_SIZE)
#define XFS_DIR2_LEAF_FIRSTDB(mp) \ #define XFS_DIR2_LEAF_FIRSTDB(mp) \
XFS_DIR2_BYTE_TO_DB(mp, XFS_DIR2_LEAF_OFFSET) xfs_dir2_byte_to_db(mp, XFS_DIR2_LEAF_OFFSET)
/* /*
* Offset in data space of a data entry. * Offset in data space of a data entry.
...@@ -82,7 +82,6 @@ typedef struct xfs_dir2_leaf { ...@@ -82,7 +82,6 @@ typedef struct xfs_dir2_leaf {
* DB blocks here are logical directory block numbers, not filesystem blocks. * DB blocks here are logical directory block numbers, not filesystem blocks.
*/ */
#define XFS_DIR2_MAX_LEAF_ENTS(mp) xfs_dir2_max_leaf_ents(mp)
static inline int xfs_dir2_max_leaf_ents(struct xfs_mount *mp) static inline int xfs_dir2_max_leaf_ents(struct xfs_mount *mp)
{ {
return (int)(((mp)->m_dirblksize - (uint)sizeof(xfs_dir2_leaf_hdr_t)) / return (int)(((mp)->m_dirblksize - (uint)sizeof(xfs_dir2_leaf_hdr_t)) /
...@@ -92,7 +91,6 @@ static inline int xfs_dir2_max_leaf_ents(struct xfs_mount *mp) ...@@ -92,7 +91,6 @@ static inline int xfs_dir2_max_leaf_ents(struct xfs_mount *mp)
/* /*
* Get address of the bestcount field in the single-leaf block. * Get address of the bestcount field in the single-leaf block.
*/ */
#define XFS_DIR2_LEAF_TAIL_P(mp,lp) xfs_dir2_leaf_tail_p(mp, lp)
static inline xfs_dir2_leaf_tail_t * static inline xfs_dir2_leaf_tail_t *
xfs_dir2_leaf_tail_p(struct xfs_mount *mp, xfs_dir2_leaf_t *lp) xfs_dir2_leaf_tail_p(struct xfs_mount *mp, xfs_dir2_leaf_t *lp)
{ {
...@@ -104,7 +102,6 @@ xfs_dir2_leaf_tail_p(struct xfs_mount *mp, xfs_dir2_leaf_t *lp) ...@@ -104,7 +102,6 @@ xfs_dir2_leaf_tail_p(struct xfs_mount *mp, xfs_dir2_leaf_t *lp)
/* /*
* Get address of the bests array in the single-leaf block. * Get address of the bests array in the single-leaf block.
*/ */
#define XFS_DIR2_LEAF_BESTS_P(ltp) xfs_dir2_leaf_bests_p(ltp)
static inline __be16 * static inline __be16 *
xfs_dir2_leaf_bests_p(xfs_dir2_leaf_tail_t *ltp) xfs_dir2_leaf_bests_p(xfs_dir2_leaf_tail_t *ltp)
{ {
...@@ -114,7 +111,6 @@ xfs_dir2_leaf_bests_p(xfs_dir2_leaf_tail_t *ltp) ...@@ -114,7 +111,6 @@ xfs_dir2_leaf_bests_p(xfs_dir2_leaf_tail_t *ltp)
/* /*
* Convert dataptr to byte in file space * Convert dataptr to byte in file space
*/ */
#define XFS_DIR2_DATAPTR_TO_BYTE(mp,dp) xfs_dir2_dataptr_to_byte(mp, dp)
static inline xfs_dir2_off_t static inline xfs_dir2_off_t
xfs_dir2_dataptr_to_byte(struct xfs_mount *mp, xfs_dir2_dataptr_t dp) xfs_dir2_dataptr_to_byte(struct xfs_mount *mp, xfs_dir2_dataptr_t dp)
{ {
...@@ -124,7 +120,6 @@ xfs_dir2_dataptr_to_byte(struct xfs_mount *mp, xfs_dir2_dataptr_t dp) ...@@ -124,7 +120,6 @@ xfs_dir2_dataptr_to_byte(struct xfs_mount *mp, xfs_dir2_dataptr_t dp)
/* /*
* Convert byte in file space to dataptr. It had better be aligned. * Convert byte in file space to dataptr. It had better be aligned.
*/ */
#define XFS_DIR2_BYTE_TO_DATAPTR(mp,by) xfs_dir2_byte_to_dataptr(mp,by)
static inline xfs_dir2_dataptr_t static inline xfs_dir2_dataptr_t
xfs_dir2_byte_to_dataptr(struct xfs_mount *mp, xfs_dir2_off_t by) xfs_dir2_byte_to_dataptr(struct xfs_mount *mp, xfs_dir2_off_t by)
{ {
...@@ -134,7 +129,6 @@ xfs_dir2_byte_to_dataptr(struct xfs_mount *mp, xfs_dir2_off_t by) ...@@ -134,7 +129,6 @@ xfs_dir2_byte_to_dataptr(struct xfs_mount *mp, xfs_dir2_off_t by)
/* /*
* Convert byte in space to (DB) block * Convert byte in space to (DB) block
*/ */
#define XFS_DIR2_BYTE_TO_DB(mp,by) xfs_dir2_byte_to_db(mp, by)
static inline xfs_dir2_db_t static inline xfs_dir2_db_t
xfs_dir2_byte_to_db(struct xfs_mount *mp, xfs_dir2_off_t by) xfs_dir2_byte_to_db(struct xfs_mount *mp, xfs_dir2_off_t by)
{ {
...@@ -145,17 +139,15 @@ xfs_dir2_byte_to_db(struct xfs_mount *mp, xfs_dir2_off_t by) ...@@ -145,17 +139,15 @@ xfs_dir2_byte_to_db(struct xfs_mount *mp, xfs_dir2_off_t by)
/* /*
* Convert dataptr to a block number * Convert dataptr to a block number
*/ */
#define XFS_DIR2_DATAPTR_TO_DB(mp,dp) xfs_dir2_dataptr_to_db(mp, dp)
static inline xfs_dir2_db_t static inline xfs_dir2_db_t
xfs_dir2_dataptr_to_db(struct xfs_mount *mp, xfs_dir2_dataptr_t dp) xfs_dir2_dataptr_to_db(struct xfs_mount *mp, xfs_dir2_dataptr_t dp)
{ {
return XFS_DIR2_BYTE_TO_DB(mp, XFS_DIR2_DATAPTR_TO_BYTE(mp, dp)); return xfs_dir2_byte_to_db(mp, xfs_dir2_dataptr_to_byte(mp, dp));
} }
/* /*
* Convert byte in space to offset in a block * Convert byte in space to offset in a block
*/ */
#define XFS_DIR2_BYTE_TO_OFF(mp,by) xfs_dir2_byte_to_off(mp, by)
static inline xfs_dir2_data_aoff_t static inline xfs_dir2_data_aoff_t
xfs_dir2_byte_to_off(struct xfs_mount *mp, xfs_dir2_off_t by) xfs_dir2_byte_to_off(struct xfs_mount *mp, xfs_dir2_off_t by)
{ {
...@@ -166,18 +158,15 @@ xfs_dir2_byte_to_off(struct xfs_mount *mp, xfs_dir2_off_t by) ...@@ -166,18 +158,15 @@ xfs_dir2_byte_to_off(struct xfs_mount *mp, xfs_dir2_off_t by)
/* /*
* Convert dataptr to a byte offset in a block * Convert dataptr to a byte offset in a block
*/ */
#define XFS_DIR2_DATAPTR_TO_OFF(mp,dp) xfs_dir2_dataptr_to_off(mp, dp)
static inline xfs_dir2_data_aoff_t static inline xfs_dir2_data_aoff_t
xfs_dir2_dataptr_to_off(struct xfs_mount *mp, xfs_dir2_dataptr_t dp) xfs_dir2_dataptr_to_off(struct xfs_mount *mp, xfs_dir2_dataptr_t dp)
{ {
return XFS_DIR2_BYTE_TO_OFF(mp, XFS_DIR2_DATAPTR_TO_BYTE(mp, dp)); return xfs_dir2_byte_to_off(mp, xfs_dir2_dataptr_to_byte(mp, dp));
} }
/* /*
* Convert block and offset to byte in space * Convert block and offset to byte in space
*/ */
#define XFS_DIR2_DB_OFF_TO_BYTE(mp,db,o) \
xfs_dir2_db_off_to_byte(mp, db, o)
static inline xfs_dir2_off_t static inline xfs_dir2_off_t
xfs_dir2_db_off_to_byte(struct xfs_mount *mp, xfs_dir2_db_t db, xfs_dir2_db_off_to_byte(struct xfs_mount *mp, xfs_dir2_db_t db,
xfs_dir2_data_aoff_t o) xfs_dir2_data_aoff_t o)
...@@ -189,7 +178,6 @@ xfs_dir2_db_off_to_byte(struct xfs_mount *mp, xfs_dir2_db_t db, ...@@ -189,7 +178,6 @@ xfs_dir2_db_off_to_byte(struct xfs_mount *mp, xfs_dir2_db_t db,
/* /*
* Convert block (DB) to block (dablk) * Convert block (DB) to block (dablk)
*/ */
#define XFS_DIR2_DB_TO_DA(mp,db) xfs_dir2_db_to_da(mp, db)
static inline xfs_dablk_t static inline xfs_dablk_t
xfs_dir2_db_to_da(struct xfs_mount *mp, xfs_dir2_db_t db) xfs_dir2_db_to_da(struct xfs_mount *mp, xfs_dir2_db_t db)
{ {
...@@ -199,29 +187,25 @@ xfs_dir2_db_to_da(struct xfs_mount *mp, xfs_dir2_db_t db) ...@@ -199,29 +187,25 @@ xfs_dir2_db_to_da(struct xfs_mount *mp, xfs_dir2_db_t db)
/* /*
* Convert byte in space to (DA) block * Convert byte in space to (DA) block
*/ */
#define XFS_DIR2_BYTE_TO_DA(mp,by) xfs_dir2_byte_to_da(mp, by)
static inline xfs_dablk_t static inline xfs_dablk_t
xfs_dir2_byte_to_da(struct xfs_mount *mp, xfs_dir2_off_t by) xfs_dir2_byte_to_da(struct xfs_mount *mp, xfs_dir2_off_t by)
{ {
return XFS_DIR2_DB_TO_DA(mp, XFS_DIR2_BYTE_TO_DB(mp, by)); return xfs_dir2_db_to_da(mp, xfs_dir2_byte_to_db(mp, by));
} }
/* /*
* Convert block and offset to dataptr * Convert block and offset to dataptr
*/ */
#define XFS_DIR2_DB_OFF_TO_DATAPTR(mp,db,o) \
xfs_dir2_db_off_to_dataptr(mp, db, o)
static inline xfs_dir2_dataptr_t static inline xfs_dir2_dataptr_t
xfs_dir2_db_off_to_dataptr(struct xfs_mount *mp, xfs_dir2_db_t db, xfs_dir2_db_off_to_dataptr(struct xfs_mount *mp, xfs_dir2_db_t db,
xfs_dir2_data_aoff_t o) xfs_dir2_data_aoff_t o)
{ {
return XFS_DIR2_BYTE_TO_DATAPTR(mp, XFS_DIR2_DB_OFF_TO_BYTE(mp, db, o)); return xfs_dir2_byte_to_dataptr(mp, xfs_dir2_db_off_to_byte(mp, db, o));
} }
/* /*
* Convert block (dablk) to block (DB) * Convert block (dablk) to block (DB)
*/ */
#define XFS_DIR2_DA_TO_DB(mp,da) xfs_dir2_da_to_db(mp, da)
static inline xfs_dir2_db_t static inline xfs_dir2_db_t
xfs_dir2_da_to_db(struct xfs_mount *mp, xfs_dablk_t da) xfs_dir2_da_to_db(struct xfs_mount *mp, xfs_dablk_t da)
{ {
...@@ -231,11 +215,10 @@ xfs_dir2_da_to_db(struct xfs_mount *mp, xfs_dablk_t da) ...@@ -231,11 +215,10 @@ xfs_dir2_da_to_db(struct xfs_mount *mp, xfs_dablk_t da)
/* /*
* Convert block (dablk) to byte offset in space * Convert block (dablk) to byte offset in space
*/ */
#define XFS_DIR2_DA_TO_BYTE(mp,da) xfs_dir2_da_to_byte(mp, da)
static inline xfs_dir2_off_t static inline xfs_dir2_off_t
xfs_dir2_da_to_byte(struct xfs_mount *mp, xfs_dablk_t da) xfs_dir2_da_to_byte(struct xfs_mount *mp, xfs_dablk_t da)
{ {
return XFS_DIR2_DB_OFF_TO_BYTE(mp, XFS_DIR2_DA_TO_DB(mp, da), 0); return xfs_dir2_db_off_to_byte(mp, xfs_dir2_da_to_db(mp, da), 0);
} }
/* /*
......
...@@ -136,14 +136,14 @@ xfs_dir2_leaf_to_node( ...@@ -136,14 +136,14 @@ xfs_dir2_leaf_to_node(
/* /*
* Get the buffer for the new freespace block. * Get the buffer for the new freespace block.
*/ */
if ((error = xfs_da_get_buf(tp, dp, XFS_DIR2_DB_TO_DA(mp, fdb), -1, &fbp, if ((error = xfs_da_get_buf(tp, dp, xfs_dir2_db_to_da(mp, fdb), -1, &fbp,
XFS_DATA_FORK))) { XFS_DATA_FORK))) {
return error; return error;
} }
ASSERT(fbp != NULL); ASSERT(fbp != NULL);
free = fbp->data; free = fbp->data;
leaf = lbp->data; leaf = lbp->data;
ltp = XFS_DIR2_LEAF_TAIL_P(mp, leaf); ltp = xfs_dir2_leaf_tail_p(mp, leaf);
/* /*
* Initialize the freespace block header. * Initialize the freespace block header.
*/ */
...@@ -155,7 +155,7 @@ xfs_dir2_leaf_to_node( ...@@ -155,7 +155,7 @@ xfs_dir2_leaf_to_node(
* Copy freespace entries from the leaf block to the new block. * Copy freespace entries from the leaf block to the new block.
* Count active entries. * Count active entries.
*/ */
for (i = n = 0, from = XFS_DIR2_LEAF_BESTS_P(ltp), to = free->bests; for (i = n = 0, from = xfs_dir2_leaf_bests_p(ltp), to = free->bests;
i < be32_to_cpu(ltp->bestcount); i++, from++, to++) { i < be32_to_cpu(ltp->bestcount); i++, from++, to++) {
if ((off = be16_to_cpu(*from)) != NULLDATAOFF) if ((off = be16_to_cpu(*from)) != NULLDATAOFF)
n++; n++;
...@@ -215,7 +215,7 @@ xfs_dir2_leafn_add( ...@@ -215,7 +215,7 @@ xfs_dir2_leafn_add(
* a compact. * a compact.
*/ */
if (be16_to_cpu(leaf->hdr.count) == 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 = be16_to_cpu(leaf->hdr.stale) > 1; compact = be16_to_cpu(leaf->hdr.stale) > 1;
...@@ -327,7 +327,7 @@ xfs_dir2_leafn_add( ...@@ -327,7 +327,7 @@ xfs_dir2_leafn_add(
* Insert the new entry, log everything. * Insert the new entry, log everything.
*/ */
lep->hashval = cpu_to_be32(args->hashval); lep->hashval = cpu_to_be32(args->hashval);
lep->address = cpu_to_be32(XFS_DIR2_DB_OFF_TO_DATAPTR(mp, lep->address = cpu_to_be32(xfs_dir2_db_off_to_dataptr(mp,
args->blkno, args->index)); args->blkno, args->index));
xfs_dir2_leaf_log_header(tp, bp); xfs_dir2_leaf_log_header(tp, bp);
xfs_dir2_leaf_log_ents(tp, bp, lfloglow, lfloghigh); xfs_dir2_leaf_log_ents(tp, bp, lfloglow, lfloghigh);
...@@ -352,7 +352,7 @@ xfs_dir2_leafn_check( ...@@ -352,7 +352,7 @@ xfs_dir2_leafn_check(
leaf = bp->data; leaf = bp->data;
mp = dp->i_mount; mp = dp->i_mount;
ASSERT(be16_to_cpu(leaf->hdr.info.magic) == XFS_DIR2_LEAFN_MAGIC); ASSERT(be16_to_cpu(leaf->hdr.info.magic) == XFS_DIR2_LEAFN_MAGIC);
ASSERT(be16_to_cpu(leaf->hdr.count) <= XFS_DIR2_MAX_LEAF_ENTS(mp)); 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++) { for (i = stale = 0; i < be16_to_cpu(leaf->hdr.count); i++) {
if (i + 1 < be16_to_cpu(leaf->hdr.count)) { if (i + 1 < be16_to_cpu(leaf->hdr.count)) {
ASSERT(be32_to_cpu(leaf->ents[i].hashval) <= ASSERT(be32_to_cpu(leaf->ents[i].hashval) <=
...@@ -440,7 +440,7 @@ xfs_dir2_leafn_lookup_int( ...@@ -440,7 +440,7 @@ xfs_dir2_leafn_lookup_int(
if (args->addname) { if (args->addname) {
curfdb = curbp ? state->extrablk.blkno : -1; curfdb = curbp ? state->extrablk.blkno : -1;
curdb = -1; curdb = -1;
length = XFS_DIR2_DATA_ENTSIZE(args->namelen); length = xfs_dir2_data_entsize(args->namelen);
if ((free = (curbp ? curbp->data : NULL))) if ((free = (curbp ? curbp->data : NULL)))
ASSERT(be32_to_cpu(free->hdr.magic) == XFS_DIR2_FREE_MAGIC); ASSERT(be32_to_cpu(free->hdr.magic) == XFS_DIR2_FREE_MAGIC);
} }
...@@ -465,7 +465,7 @@ xfs_dir2_leafn_lookup_int( ...@@ -465,7 +465,7 @@ xfs_dir2_leafn_lookup_int(
/* /*
* Pull the data block number from the entry. * Pull the data block number from the entry.
*/ */
newdb = XFS_DIR2_DATAPTR_TO_DB(mp, be32_to_cpu(lep->address)); newdb = xfs_dir2_dataptr_to_db(mp, be32_to_cpu(lep->address));
/* /*
* For addname, we're looking for a place to put the new entry. * For addname, we're looking for a place to put the new entry.
* We want to use a data block with an entry of equal * We want to use a data block with an entry of equal
...@@ -482,7 +482,7 @@ xfs_dir2_leafn_lookup_int( ...@@ -482,7 +482,7 @@ xfs_dir2_leafn_lookup_int(
* Convert the data block to the free block * Convert the data block to the free block
* holding its freespace information. * holding its freespace information.
*/ */
newfdb = XFS_DIR2_DB_TO_FDB(mp, newdb); newfdb = xfs_dir2_db_to_fdb(mp, newdb);
/* /*
* If it's not the one we have in hand, * If it's not the one we have in hand,
* read it in. * read it in.
...@@ -497,7 +497,7 @@ xfs_dir2_leafn_lookup_int( ...@@ -497,7 +497,7 @@ xfs_dir2_leafn_lookup_int(
* Read the free block. * Read the free block.
*/ */
if ((error = xfs_da_read_buf(tp, dp, if ((error = xfs_da_read_buf(tp, dp,
XFS_DIR2_DB_TO_DA(mp, xfs_dir2_db_to_da(mp,
newfdb), newfdb),
-1, &curbp, -1, &curbp,
XFS_DATA_FORK))) { XFS_DATA_FORK))) {
...@@ -517,7 +517,7 @@ xfs_dir2_leafn_lookup_int( ...@@ -517,7 +517,7 @@ xfs_dir2_leafn_lookup_int(
/* /*
* Get the index for our entry. * Get the index for our entry.
*/ */
fi = XFS_DIR2_DB_TO_FDINDEX(mp, curdb); fi = xfs_dir2_db_to_fdindex(mp, curdb);
/* /*
* If it has room, return it. * If it has room, return it.
*/ */
...@@ -561,7 +561,7 @@ xfs_dir2_leafn_lookup_int( ...@@ -561,7 +561,7 @@ xfs_dir2_leafn_lookup_int(
*/ */
if ((error = if ((error =
xfs_da_read_buf(tp, dp, xfs_da_read_buf(tp, dp,
XFS_DIR2_DB_TO_DA(mp, newdb), -1, xfs_dir2_db_to_da(mp, newdb), -1,
&curbp, XFS_DATA_FORK))) { &curbp, XFS_DATA_FORK))) {
return error; return error;
} }
...@@ -573,7 +573,7 @@ xfs_dir2_leafn_lookup_int( ...@@ -573,7 +573,7 @@ xfs_dir2_leafn_lookup_int(
*/ */
dep = (xfs_dir2_data_entry_t *) dep = (xfs_dir2_data_entry_t *)
((char *)curbp->data + ((char *)curbp->data +
XFS_DIR2_DATAPTR_TO_OFF(mp, be32_to_cpu(lep->address))); xfs_dir2_dataptr_to_off(mp, be32_to_cpu(lep->address)));
/* /*
* Compare the entry, return it if it matches. * Compare the entry, return it if it matches.
*/ */
...@@ -876,9 +876,9 @@ xfs_dir2_leafn_remove( ...@@ -876,9 +876,9 @@ xfs_dir2_leafn_remove(
/* /*
* Extract the data block and offset from the entry. * Extract the data block and offset from the entry.
*/ */
db = XFS_DIR2_DATAPTR_TO_DB(mp, be32_to_cpu(lep->address)); db = xfs_dir2_dataptr_to_db(mp, be32_to_cpu(lep->address));
ASSERT(dblk->blkno == db); ASSERT(dblk->blkno == db);
off = XFS_DIR2_DATAPTR_TO_OFF(mp, be32_to_cpu(lep->address)); off = xfs_dir2_dataptr_to_off(mp, be32_to_cpu(lep->address));
ASSERT(dblk->index == off); ASSERT(dblk->index == off);
/* /*
* Kill the leaf entry by marking it stale. * Kill the leaf entry by marking it stale.
...@@ -898,7 +898,7 @@ xfs_dir2_leafn_remove( ...@@ -898,7 +898,7 @@ xfs_dir2_leafn_remove(
longest = be16_to_cpu(data->hdr.bestfree[0].length); longest = be16_to_cpu(data->hdr.bestfree[0].length);
needlog = needscan = 0; needlog = needscan = 0;
xfs_dir2_data_make_free(tp, dbp, off, xfs_dir2_data_make_free(tp, dbp, off,
XFS_DIR2_DATA_ENTSIZE(dep->namelen), &needlog, &needscan); xfs_dir2_data_entsize(dep->namelen), &needlog, &needscan);
/* /*
* Rescan the data block freespaces for bestfree. * Rescan the data block freespaces for bestfree.
* Log the data block header if needed. * Log the data block header if needed.
...@@ -924,8 +924,8 @@ xfs_dir2_leafn_remove( ...@@ -924,8 +924,8 @@ xfs_dir2_leafn_remove(
* Convert the data block number to a free block, * Convert the data block number to a free block,
* read in the free block. * read in the free block.
*/ */
fdb = XFS_DIR2_DB_TO_FDB(mp, db); fdb = xfs_dir2_db_to_fdb(mp, db);
if ((error = xfs_da_read_buf(tp, dp, XFS_DIR2_DB_TO_DA(mp, fdb), if ((error = xfs_da_read_buf(tp, dp, xfs_dir2_db_to_da(mp, fdb),
-1, &fbp, XFS_DATA_FORK))) { -1, &fbp, XFS_DATA_FORK))) {
return error; return error;
} }
...@@ -937,7 +937,7 @@ xfs_dir2_leafn_remove( ...@@ -937,7 +937,7 @@ xfs_dir2_leafn_remove(
/* /*
* Calculate which entry we need to fix. * Calculate which entry we need to fix.
*/ */
findex = XFS_DIR2_DB_TO_FDINDEX(mp, db); findex = xfs_dir2_db_to_fdindex(mp, db);
longest = be16_to_cpu(data->hdr.bestfree[0].length); longest = be16_to_cpu(data->hdr.bestfree[0].length);
/* /*
* If the data block is now empty we can get rid of it * If the data block is now empty we can get rid of it
...@@ -1073,7 +1073,7 @@ xfs_dir2_leafn_split( ...@@ -1073,7 +1073,7 @@ xfs_dir2_leafn_split(
/* /*
* Initialize the new leaf block. * Initialize the new leaf block.
*/ */
error = xfs_dir2_leaf_init(args, XFS_DIR2_DA_TO_DB(mp, blkno), error = xfs_dir2_leaf_init(args, xfs_dir2_da_to_db(mp, blkno),
&newblk->bp, XFS_DIR2_LEAFN_MAGIC); &newblk->bp, XFS_DIR2_LEAFN_MAGIC);
if (error) { if (error) {
return error; return error;
...@@ -1385,7 +1385,7 @@ xfs_dir2_node_addname_int( ...@@ -1385,7 +1385,7 @@ xfs_dir2_node_addname_int(
dp = args->dp; dp = args->dp;
mp = dp->i_mount; mp = dp->i_mount;
tp = args->trans; tp = args->trans;
length = XFS_DIR2_DATA_ENTSIZE(args->namelen); length = xfs_dir2_data_entsize(args->namelen);
/* /*
* If we came in with a freespace block that means that lookup * If we came in with a freespace block that means that lookup
* found an entry with our hash value. This is the freespace * found an entry with our hash value. This is the freespace
...@@ -1438,7 +1438,7 @@ xfs_dir2_node_addname_int( ...@@ -1438,7 +1438,7 @@ xfs_dir2_node_addname_int(
if ((error = xfs_bmap_last_offset(tp, dp, &fo, XFS_DATA_FORK))) if ((error = xfs_bmap_last_offset(tp, dp, &fo, XFS_DATA_FORK)))
return error; return error;
lastfbno = XFS_DIR2_DA_TO_DB(mp, (xfs_dablk_t)fo); lastfbno = xfs_dir2_da_to_db(mp, (xfs_dablk_t)fo);
fbno = ifbno; fbno = ifbno;
} }
/* /*
...@@ -1474,7 +1474,7 @@ xfs_dir2_node_addname_int( ...@@ -1474,7 +1474,7 @@ xfs_dir2_node_addname_int(
* to avoid it. * to avoid it.
*/ */
if ((error = xfs_da_read_buf(tp, dp, if ((error = xfs_da_read_buf(tp, dp,
XFS_DIR2_DB_TO_DA(mp, fbno), -2, &fbp, xfs_dir2_db_to_da(mp, fbno), -2, &fbp,
XFS_DATA_FORK))) { XFS_DATA_FORK))) {
return error; return error;
} }
...@@ -1550,9 +1550,9 @@ xfs_dir2_node_addname_int( ...@@ -1550,9 +1550,9 @@ xfs_dir2_node_addname_int(
* Get the freespace block corresponding to the data block * Get the freespace block corresponding to the data block
* that was just allocated. * that was just allocated.
*/ */
fbno = XFS_DIR2_DB_TO_FDB(mp, dbno); fbno = xfs_dir2_db_to_fdb(mp, dbno);
if (unlikely(error = xfs_da_read_buf(tp, dp, if (unlikely(error = xfs_da_read_buf(tp, dp,
XFS_DIR2_DB_TO_DA(mp, fbno), -2, &fbp, xfs_dir2_db_to_da(mp, fbno), -2, &fbp,
XFS_DATA_FORK))) { XFS_DATA_FORK))) {
xfs_da_buf_done(dbp); xfs_da_buf_done(dbp);
return error; return error;
...@@ -1567,14 +1567,14 @@ xfs_dir2_node_addname_int( ...@@ -1567,14 +1567,14 @@ xfs_dir2_node_addname_int(
return error; return error;
} }
if (unlikely(XFS_DIR2_DB_TO_FDB(mp, dbno) != fbno)) { if (unlikely(xfs_dir2_db_to_fdb(mp, dbno) != fbno)) {
cmn_err(CE_ALERT, cmn_err(CE_ALERT,
"xfs_dir2_node_addname_int: dir ino " "xfs_dir2_node_addname_int: dir ino "
"%llu needed freesp block %lld for\n" "%llu needed freesp block %lld for\n"
" data block %lld, got %lld\n" " data block %lld, got %lld\n"
" ifbno %llu lastfbno %d\n", " ifbno %llu lastfbno %d\n",
(unsigned long long)dp->i_ino, (unsigned long long)dp->i_ino,
(long long)XFS_DIR2_DB_TO_FDB(mp, dbno), (long long)xfs_dir2_db_to_fdb(mp, dbno),
(long long)dbno, (long long)fbno, (long long)dbno, (long long)fbno,
(unsigned long long)ifbno, lastfbno); (unsigned long long)ifbno, lastfbno);
if (fblk) { if (fblk) {
...@@ -1598,7 +1598,7 @@ xfs_dir2_node_addname_int( ...@@ -1598,7 +1598,7 @@ xfs_dir2_node_addname_int(
* Get a buffer for the new block. * Get a buffer for the new block.
*/ */
if ((error = xfs_da_get_buf(tp, dp, if ((error = xfs_da_get_buf(tp, dp,
XFS_DIR2_DB_TO_DA(mp, fbno), xfs_dir2_db_to_da(mp, fbno),
-1, &fbp, XFS_DATA_FORK))) { -1, &fbp, XFS_DATA_FORK))) {
return error; return error;
} }
...@@ -1623,7 +1623,7 @@ xfs_dir2_node_addname_int( ...@@ -1623,7 +1623,7 @@ xfs_dir2_node_addname_int(
/* /*
* Set the freespace block index from the data block number. * Set the freespace block index from the data block number.
*/ */
findex = XFS_DIR2_DB_TO_FDINDEX(mp, dbno); findex = xfs_dir2_db_to_fdindex(mp, dbno);
/* /*
* If it's after the end of the current entries in the * If it's after the end of the current entries in the
* freespace block, extend that table. * freespace block, extend that table.
...@@ -1669,7 +1669,7 @@ xfs_dir2_node_addname_int( ...@@ -1669,7 +1669,7 @@ xfs_dir2_node_addname_int(
* Read the data block in. * Read the data block in.
*/ */
if (unlikely( if (unlikely(
error = xfs_da_read_buf(tp, dp, XFS_DIR2_DB_TO_DA(mp, dbno), error = xfs_da_read_buf(tp, dp, xfs_dir2_db_to_da(mp, dbno),
-1, &dbp, XFS_DATA_FORK))) { -1, &dbp, XFS_DATA_FORK))) {
if ((fblk == NULL || fblk->bp == NULL) && fbp != NULL) if ((fblk == NULL || fblk->bp == NULL) && fbp != NULL)
xfs_da_buf_done(fbp); xfs_da_buf_done(fbp);
...@@ -1698,7 +1698,7 @@ xfs_dir2_node_addname_int( ...@@ -1698,7 +1698,7 @@ xfs_dir2_node_addname_int(
dep->inumber = cpu_to_be64(args->inumber); dep->inumber = cpu_to_be64(args->inumber);
dep->namelen = args->namelen; dep->namelen = args->namelen;
memcpy(dep->name, args->name, dep->namelen); memcpy(dep->name, args->name, dep->namelen);
tagp = XFS_DIR2_DATA_ENTRY_TAG_P(dep); tagp = xfs_dir2_data_entry_tag_p(dep);
*tagp = cpu_to_be16((char *)dep - (char *)data); *tagp = cpu_to_be16((char *)dep - (char *)data);
xfs_dir2_data_log_entry(tp, dbp, dep); xfs_dir2_data_log_entry(tp, dbp, dep);
/* /*
...@@ -1904,7 +1904,7 @@ xfs_dir2_node_replace( ...@@ -1904,7 +1904,7 @@ xfs_dir2_node_replace(
ASSERT(be32_to_cpu(data->hdr.magic) == XFS_DIR2_DATA_MAGIC); ASSERT(be32_to_cpu(data->hdr.magic) == XFS_DIR2_DATA_MAGIC);
dep = (xfs_dir2_data_entry_t *) dep = (xfs_dir2_data_entry_t *)
((char *)data + ((char *)data +
XFS_DIR2_DATAPTR_TO_OFF(state->mp, be32_to_cpu(lep->address))); xfs_dir2_dataptr_to_off(state->mp, be32_to_cpu(lep->address)));
ASSERT(inum != be64_to_cpu(dep->inumber)); ASSERT(inum != be64_to_cpu(dep->inumber));
/* /*
* Fill in the new inode number and log the entry. * Fill in the new inode number and log the entry.
...@@ -1980,7 +1980,7 @@ xfs_dir2_node_trim_free( ...@@ -1980,7 +1980,7 @@ xfs_dir2_node_trim_free(
* Blow the block away. * Blow the block away.
*/ */
if ((error = if ((error =
xfs_dir2_shrink_inode(args, XFS_DIR2_DA_TO_DB(mp, (xfs_dablk_t)fo), xfs_dir2_shrink_inode(args, xfs_dir2_da_to_db(mp, (xfs_dablk_t)fo),
bp))) { bp))) {
/* /*
* Can't fail with ENOSPC since that only happens with no * Can't fail with ENOSPC since that only happens with no
......
...@@ -36,7 +36,7 @@ struct xfs_trans; ...@@ -36,7 +36,7 @@ struct xfs_trans;
#define XFS_DIR2_FREE_SPACE 2 #define XFS_DIR2_FREE_SPACE 2
#define XFS_DIR2_FREE_OFFSET (XFS_DIR2_FREE_SPACE * XFS_DIR2_SPACE_SIZE) #define XFS_DIR2_FREE_OFFSET (XFS_DIR2_FREE_SPACE * XFS_DIR2_SPACE_SIZE)
#define XFS_DIR2_FREE_FIRSTDB(mp) \ #define XFS_DIR2_FREE_FIRSTDB(mp) \
XFS_DIR2_BYTE_TO_DB(mp, XFS_DIR2_FREE_OFFSET) xfs_dir2_byte_to_db(mp, XFS_DIR2_FREE_OFFSET)
#define XFS_DIR2_FREE_MAGIC 0x58443246 /* XD2F */ #define XFS_DIR2_FREE_MAGIC 0x58443246 /* XD2F */
...@@ -60,7 +60,6 @@ typedef struct xfs_dir2_free { ...@@ -60,7 +60,6 @@ typedef struct xfs_dir2_free {
/* /*
* Convert data space db to the corresponding free db. * Convert data space db to the corresponding free db.
*/ */
#define XFS_DIR2_DB_TO_FDB(mp,db) xfs_dir2_db_to_fdb(mp, db)
static inline xfs_dir2_db_t static inline xfs_dir2_db_t
xfs_dir2_db_to_fdb(struct xfs_mount *mp, xfs_dir2_db_t db) xfs_dir2_db_to_fdb(struct xfs_mount *mp, xfs_dir2_db_t db)
{ {
...@@ -70,7 +69,6 @@ xfs_dir2_db_to_fdb(struct xfs_mount *mp, xfs_dir2_db_t db) ...@@ -70,7 +69,6 @@ xfs_dir2_db_to_fdb(struct xfs_mount *mp, xfs_dir2_db_t db)
/* /*
* Convert data space db to the corresponding index in a free db. * Convert data space db to the corresponding index in a free db.
*/ */
#define XFS_DIR2_DB_TO_FDINDEX(mp,db) xfs_dir2_db_to_fdindex(mp, db)
static inline int static inline int
xfs_dir2_db_to_fdindex(struct xfs_mount *mp, xfs_dir2_db_t db) xfs_dir2_db_to_fdindex(struct xfs_mount *mp, xfs_dir2_db_t db)
{ {
......
This diff is collapsed.
...@@ -90,7 +90,6 @@ typedef struct xfs_dir2_sf { ...@@ -90,7 +90,6 @@ typedef struct xfs_dir2_sf {
xfs_dir2_sf_entry_t list[1]; /* shortform entries */ xfs_dir2_sf_entry_t list[1]; /* shortform entries */
} xfs_dir2_sf_t; } xfs_dir2_sf_t;
#define XFS_DIR2_SF_HDR_SIZE(i8count) xfs_dir2_sf_hdr_size(i8count)
static inline int xfs_dir2_sf_hdr_size(int i8count) static inline int xfs_dir2_sf_hdr_size(int i8count)
{ {
return ((uint)sizeof(xfs_dir2_sf_hdr_t) - \ return ((uint)sizeof(xfs_dir2_sf_hdr_t) - \
...@@ -98,14 +97,11 @@ static inline int xfs_dir2_sf_hdr_size(int i8count) ...@@ -98,14 +97,11 @@ static inline int xfs_dir2_sf_hdr_size(int i8count)
((uint)sizeof(xfs_dir2_ino8_t) - (uint)sizeof(xfs_dir2_ino4_t))); ((uint)sizeof(xfs_dir2_ino8_t) - (uint)sizeof(xfs_dir2_ino4_t)));
} }
#define XFS_DIR2_SF_INUMBERP(sfep) xfs_dir2_sf_inumberp(sfep)
static inline xfs_dir2_inou_t *xfs_dir2_sf_inumberp(xfs_dir2_sf_entry_t *sfep) static inline xfs_dir2_inou_t *xfs_dir2_sf_inumberp(xfs_dir2_sf_entry_t *sfep)
{ {
return (xfs_dir2_inou_t *)&(sfep)->name[(sfep)->namelen]; return (xfs_dir2_inou_t *)&(sfep)->name[(sfep)->namelen];
} }
#define XFS_DIR2_SF_GET_INUMBER(sfp, from) \
xfs_dir2_sf_get_inumber(sfp, from)
static inline xfs_intino_t static inline xfs_intino_t
xfs_dir2_sf_get_inumber(xfs_dir2_sf_t *sfp, xfs_dir2_inou_t *from) xfs_dir2_sf_get_inumber(xfs_dir2_sf_t *sfp, xfs_dir2_inou_t *from)
{ {
...@@ -114,8 +110,6 @@ xfs_dir2_sf_get_inumber(xfs_dir2_sf_t *sfp, xfs_dir2_inou_t *from) ...@@ -114,8 +110,6 @@ xfs_dir2_sf_get_inumber(xfs_dir2_sf_t *sfp, xfs_dir2_inou_t *from)
(xfs_intino_t)XFS_GET_DIR_INO8((from)->i8)); (xfs_intino_t)XFS_GET_DIR_INO8((from)->i8));
} }
#define XFS_DIR2_SF_PUT_INUMBER(sfp,from,to) \
xfs_dir2_sf_put_inumber(sfp,from,to)
static inline void xfs_dir2_sf_put_inumber(xfs_dir2_sf_t *sfp, xfs_ino_t *from, static inline void xfs_dir2_sf_put_inumber(xfs_dir2_sf_t *sfp, xfs_ino_t *from,
xfs_dir2_inou_t *to) xfs_dir2_inou_t *to)
{ {
...@@ -125,24 +119,18 @@ static inline void xfs_dir2_sf_put_inumber(xfs_dir2_sf_t *sfp, xfs_ino_t *from, ...@@ -125,24 +119,18 @@ static inline void xfs_dir2_sf_put_inumber(xfs_dir2_sf_t *sfp, xfs_ino_t *from,
XFS_PUT_DIR_INO8(*(from), (to)->i8); XFS_PUT_DIR_INO8(*(from), (to)->i8);
} }
#define XFS_DIR2_SF_GET_OFFSET(sfep) \
xfs_dir2_sf_get_offset(sfep)
static inline xfs_dir2_data_aoff_t static inline xfs_dir2_data_aoff_t
xfs_dir2_sf_get_offset(xfs_dir2_sf_entry_t *sfep) xfs_dir2_sf_get_offset(xfs_dir2_sf_entry_t *sfep)
{ {
return INT_GET_UNALIGNED_16_BE(&(sfep)->offset.i); return INT_GET_UNALIGNED_16_BE(&(sfep)->offset.i);
} }
#define XFS_DIR2_SF_PUT_OFFSET(sfep,off) \
xfs_dir2_sf_put_offset(sfep,off)
static inline void static inline void
xfs_dir2_sf_put_offset(xfs_dir2_sf_entry_t *sfep, xfs_dir2_data_aoff_t off) xfs_dir2_sf_put_offset(xfs_dir2_sf_entry_t *sfep, xfs_dir2_data_aoff_t off)
{ {
INT_SET_UNALIGNED_16_BE(&(sfep)->offset.i, off); INT_SET_UNALIGNED_16_BE(&(sfep)->offset.i, off);
} }
#define XFS_DIR2_SF_ENTSIZE_BYNAME(sfp,len) \
xfs_dir2_sf_entsize_byname(sfp,len)
static inline int xfs_dir2_sf_entsize_byname(xfs_dir2_sf_t *sfp, int len) static inline int xfs_dir2_sf_entsize_byname(xfs_dir2_sf_t *sfp, int len)
{ {
return ((uint)sizeof(xfs_dir2_sf_entry_t) - 1 + (len) - \ return ((uint)sizeof(xfs_dir2_sf_entry_t) - 1 + (len) - \
...@@ -150,8 +138,6 @@ static inline int xfs_dir2_sf_entsize_byname(xfs_dir2_sf_t *sfp, int len) ...@@ -150,8 +138,6 @@ static inline int xfs_dir2_sf_entsize_byname(xfs_dir2_sf_t *sfp, int len)
((uint)sizeof(xfs_dir2_ino8_t) - (uint)sizeof(xfs_dir2_ino4_t))); ((uint)sizeof(xfs_dir2_ino8_t) - (uint)sizeof(xfs_dir2_ino4_t)));
} }
#define XFS_DIR2_SF_ENTSIZE_BYENTRY(sfp,sfep) \
xfs_dir2_sf_entsize_byentry(sfp,sfep)
static inline int static inline int
xfs_dir2_sf_entsize_byentry(xfs_dir2_sf_t *sfp, xfs_dir2_sf_entry_t *sfep) xfs_dir2_sf_entsize_byentry(xfs_dir2_sf_t *sfp, xfs_dir2_sf_entry_t *sfep)
{ {
...@@ -160,19 +146,17 @@ xfs_dir2_sf_entsize_byentry(xfs_dir2_sf_t *sfp, xfs_dir2_sf_entry_t *sfep) ...@@ -160,19 +146,17 @@ xfs_dir2_sf_entsize_byentry(xfs_dir2_sf_t *sfp, xfs_dir2_sf_entry_t *sfep)
((uint)sizeof(xfs_dir2_ino8_t) - (uint)sizeof(xfs_dir2_ino4_t))); ((uint)sizeof(xfs_dir2_ino8_t) - (uint)sizeof(xfs_dir2_ino4_t)));
} }
#define XFS_DIR2_SF_FIRSTENTRY(sfp) xfs_dir2_sf_firstentry(sfp)
static inline xfs_dir2_sf_entry_t *xfs_dir2_sf_firstentry(xfs_dir2_sf_t *sfp) static inline xfs_dir2_sf_entry_t *xfs_dir2_sf_firstentry(xfs_dir2_sf_t *sfp)
{ {
return ((xfs_dir2_sf_entry_t *) \ return ((xfs_dir2_sf_entry_t *) \
((char *)(sfp) + XFS_DIR2_SF_HDR_SIZE(sfp->hdr.i8count))); ((char *)(sfp) + xfs_dir2_sf_hdr_size(sfp->hdr.i8count)));
} }
#define XFS_DIR2_SF_NEXTENTRY(sfp,sfep) xfs_dir2_sf_nextentry(sfp,sfep)
static inline xfs_dir2_sf_entry_t * static inline xfs_dir2_sf_entry_t *
xfs_dir2_sf_nextentry(xfs_dir2_sf_t *sfp, xfs_dir2_sf_entry_t *sfep) xfs_dir2_sf_nextentry(xfs_dir2_sf_t *sfp, xfs_dir2_sf_entry_t *sfep)
{ {
return ((xfs_dir2_sf_entry_t *) \ return ((xfs_dir2_sf_entry_t *) \
((char *)(sfep) + XFS_DIR2_SF_ENTSIZE_BYENTRY(sfp,sfep))); ((char *)(sfep) + xfs_dir2_sf_entsize_byentry(sfp,sfep)));
} }
/* /*
......
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