xfs: add lots of attribute trace points
Signed-off-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
@@ -235,6 +235,8 @@ xfs_attr_shortform_create(xfs_da_args_t *args)
|
||||
xfs_inode_t *dp;
|
||||
xfs_ifork_t *ifp;
|
||||
|
||||
trace_xfs_attr_sf_create(args);
|
||||
|
||||
dp = args->dp;
|
||||
ASSERT(dp != NULL);
|
||||
ifp = dp->i_afp;
|
||||
@@ -268,6 +270,8 @@ xfs_attr_shortform_add(xfs_da_args_t *args, int forkoff)
|
||||
xfs_inode_t *dp;
|
||||
xfs_ifork_t *ifp;
|
||||
|
||||
trace_xfs_attr_sf_add(args);
|
||||
|
||||
dp = args->dp;
|
||||
mp = dp->i_mount;
|
||||
dp->i_d.di_forkoff = forkoff;
|
||||
@@ -337,6 +341,8 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
|
||||
xfs_mount_t *mp;
|
||||
xfs_inode_t *dp;
|
||||
|
||||
trace_xfs_attr_sf_remove(args);
|
||||
|
||||
dp = args->dp;
|
||||
mp = dp->i_mount;
|
||||
base = sizeof(xfs_attr_sf_hdr_t);
|
||||
@@ -405,6 +411,8 @@ xfs_attr_shortform_lookup(xfs_da_args_t *args)
|
||||
int i;
|
||||
xfs_ifork_t *ifp;
|
||||
|
||||
trace_xfs_attr_sf_lookup(args);
|
||||
|
||||
ifp = args->dp->i_afp;
|
||||
ASSERT(ifp->if_flags & XFS_IFINLINE);
|
||||
sf = (xfs_attr_shortform_t *)ifp->if_u1.if_data;
|
||||
@@ -476,6 +484,8 @@ xfs_attr_shortform_to_leaf(xfs_da_args_t *args)
|
||||
xfs_dabuf_t *bp;
|
||||
xfs_ifork_t *ifp;
|
||||
|
||||
trace_xfs_attr_sf_to_leaf(args);
|
||||
|
||||
dp = args->dp;
|
||||
ifp = dp->i_afp;
|
||||
sf = (xfs_attr_shortform_t *)ifp->if_u1.if_data;
|
||||
@@ -775,6 +785,8 @@ xfs_attr_leaf_to_shortform(xfs_dabuf_t *bp, xfs_da_args_t *args, int forkoff)
|
||||
char *tmpbuffer;
|
||||
int error, i;
|
||||
|
||||
trace_xfs_attr_leaf_to_sf(args);
|
||||
|
||||
dp = args->dp;
|
||||
tmpbuffer = kmem_alloc(XFS_LBSIZE(dp->i_mount), KM_SLEEP);
|
||||
ASSERT(tmpbuffer != NULL);
|
||||
@@ -848,6 +860,8 @@ xfs_attr_leaf_to_node(xfs_da_args_t *args)
|
||||
xfs_dablk_t blkno;
|
||||
int error;
|
||||
|
||||
trace_xfs_attr_leaf_to_node(args);
|
||||
|
||||
dp = args->dp;
|
||||
bp1 = bp2 = NULL;
|
||||
error = xfs_da_grow_inode(args, &blkno);
|
||||
@@ -911,6 +925,8 @@ xfs_attr_leaf_create(xfs_da_args_t *args, xfs_dablk_t blkno, xfs_dabuf_t **bpp)
|
||||
xfs_dabuf_t *bp;
|
||||
int error;
|
||||
|
||||
trace_xfs_attr_leaf_create(args);
|
||||
|
||||
dp = args->dp;
|
||||
ASSERT(dp != NULL);
|
||||
error = xfs_da_get_buf(args->trans, args->dp, blkno, -1, &bp,
|
||||
@@ -948,6 +964,8 @@ xfs_attr_leaf_split(xfs_da_state_t *state, xfs_da_state_blk_t *oldblk,
|
||||
xfs_dablk_t blkno;
|
||||
int error;
|
||||
|
||||
trace_xfs_attr_leaf_split(state->args);
|
||||
|
||||
/*
|
||||
* Allocate space for a new leaf node.
|
||||
*/
|
||||
@@ -977,10 +995,13 @@ xfs_attr_leaf_split(xfs_da_state_t *state, xfs_da_state_blk_t *oldblk,
|
||||
*
|
||||
* Insert the "new" entry in the correct block.
|
||||
*/
|
||||
if (state->inleaf)
|
||||
if (state->inleaf) {
|
||||
trace_xfs_attr_leaf_add_old(state->args);
|
||||
error = xfs_attr_leaf_add(oldblk->bp, state->args);
|
||||
else
|
||||
} else {
|
||||
trace_xfs_attr_leaf_add_new(state->args);
|
||||
error = xfs_attr_leaf_add(newblk->bp, state->args);
|
||||
}
|
||||
|
||||
/*
|
||||
* Update last hashval in each block since we added the name.
|
||||
@@ -1001,6 +1022,8 @@ xfs_attr_leaf_add(xfs_dabuf_t *bp, xfs_da_args_t *args)
|
||||
xfs_attr_leaf_map_t *map;
|
||||
int tablesize, entsize, sum, tmp, i;
|
||||
|
||||
trace_xfs_attr_leaf_add(args);
|
||||
|
||||
leaf = bp->data;
|
||||
ASSERT(leaf->hdr.info.magic == cpu_to_be16(XFS_ATTR_LEAF_MAGIC));
|
||||
ASSERT((args->index >= 0)
|
||||
@@ -1128,8 +1151,6 @@ xfs_attr_leaf_add_work(xfs_dabuf_t *bp, xfs_da_args_t *args, int mapindex)
|
||||
(be32_to_cpu(entry->hashval) <= be32_to_cpu((entry+1)->hashval)));
|
||||
|
||||
/*
|
||||
* Copy the attribute name and value into the new space.
|
||||
*
|
||||
* For "remote" attribute values, simply note that we need to
|
||||
* allocate space for the "remote" value. We can't actually
|
||||
* allocate the extents in this transaction, and we can't decide
|
||||
@@ -1265,6 +1286,8 @@ xfs_attr_leaf_rebalance(xfs_da_state_t *state, xfs_da_state_blk_t *blk1,
|
||||
ASSERT(leaf2->hdr.info.magic == cpu_to_be16(XFS_ATTR_LEAF_MAGIC));
|
||||
args = state->args;
|
||||
|
||||
trace_xfs_attr_leaf_rebalance(args);
|
||||
|
||||
/*
|
||||
* Check ordering of blocks, reverse if it makes things simpler.
|
||||
*
|
||||
@@ -1810,6 +1833,8 @@ xfs_attr_leaf_unbalance(xfs_da_state_t *state, xfs_da_state_blk_t *drop_blk,
|
||||
xfs_mount_t *mp;
|
||||
char *tmpbuffer;
|
||||
|
||||
trace_xfs_attr_leaf_unbalance(state->args);
|
||||
|
||||
/*
|
||||
* Set up environment.
|
||||
*/
|
||||
@@ -1919,6 +1944,8 @@ xfs_attr_leaf_lookup_int(xfs_dabuf_t *bp, xfs_da_args_t *args)
|
||||
int probe, span;
|
||||
xfs_dahash_t hashval;
|
||||
|
||||
trace_xfs_attr_leaf_lookup(args);
|
||||
|
||||
leaf = bp->data;
|
||||
ASSERT(leaf->hdr.info.magic == cpu_to_be16(XFS_ATTR_LEAF_MAGIC));
|
||||
ASSERT(be16_to_cpu(leaf->hdr.count)
|
||||
@@ -2445,6 +2472,7 @@ xfs_attr_leaf_clearflag(xfs_da_args_t *args)
|
||||
char *name;
|
||||
#endif /* DEBUG */
|
||||
|
||||
trace_xfs_attr_leaf_clearflag(args);
|
||||
/*
|
||||
* Set up the operation.
|
||||
*/
|
||||
@@ -2509,6 +2537,8 @@ xfs_attr_leaf_setflag(xfs_da_args_t *args)
|
||||
xfs_dabuf_t *bp;
|
||||
int error;
|
||||
|
||||
trace_xfs_attr_leaf_setflag(args);
|
||||
|
||||
/*
|
||||
* Set up the operation.
|
||||
*/
|
||||
@@ -2565,6 +2595,8 @@ xfs_attr_leaf_flipflags(xfs_da_args_t *args)
|
||||
char *name1, *name2;
|
||||
#endif /* DEBUG */
|
||||
|
||||
trace_xfs_attr_leaf_flipflags(args);
|
||||
|
||||
/*
|
||||
* Read the block containing the "old" attr
|
||||
*/
|
||||
|
Reference in New Issue
Block a user