|
@@ -1438,8 +1438,6 @@ xfs_btree_log_keys(
|
|
int first,
|
|
int first,
|
|
int last)
|
|
int last)
|
|
{
|
|
{
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGBII(cur, bp, first, last);
|
|
|
|
|
|
|
|
if (bp) {
|
|
if (bp) {
|
|
xfs_trans_buf_set_type(cur->bc_tp, bp, XFS_BLFT_BTREE_BUF);
|
|
xfs_trans_buf_set_type(cur->bc_tp, bp, XFS_BLFT_BTREE_BUF);
|
|
@@ -1450,8 +1448,6 @@ xfs_btree_log_keys(
|
|
xfs_trans_log_inode(cur->bc_tp, cur->bc_private.b.ip,
|
|
xfs_trans_log_inode(cur->bc_tp, cur->bc_private.b.ip,
|
|
xfs_ilog_fbroot(cur->bc_private.b.whichfork));
|
|
xfs_ilog_fbroot(cur->bc_private.b.whichfork));
|
|
}
|
|
}
|
|
-
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -1464,15 +1460,12 @@ xfs_btree_log_recs(
|
|
int first,
|
|
int first,
|
|
int last)
|
|
int last)
|
|
{
|
|
{
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGBII(cur, bp, first, last);
|
|
|
|
|
|
|
|
xfs_trans_buf_set_type(cur->bc_tp, bp, XFS_BLFT_BTREE_BUF);
|
|
xfs_trans_buf_set_type(cur->bc_tp, bp, XFS_BLFT_BTREE_BUF);
|
|
xfs_trans_log_buf(cur->bc_tp, bp,
|
|
xfs_trans_log_buf(cur->bc_tp, bp,
|
|
xfs_btree_rec_offset(cur, first),
|
|
xfs_btree_rec_offset(cur, first),
|
|
xfs_btree_rec_offset(cur, last + 1) - 1);
|
|
xfs_btree_rec_offset(cur, last + 1) - 1);
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -1485,8 +1478,6 @@ xfs_btree_log_ptrs(
|
|
int first, /* index of first pointer to log */
|
|
int first, /* index of first pointer to log */
|
|
int last) /* index of last pointer to log */
|
|
int last) /* index of last pointer to log */
|
|
{
|
|
{
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGBII(cur, bp, first, last);
|
|
|
|
|
|
|
|
if (bp) {
|
|
if (bp) {
|
|
struct xfs_btree_block *block = XFS_BUF_TO_BLOCK(bp);
|
|
struct xfs_btree_block *block = XFS_BUF_TO_BLOCK(bp);
|
|
@@ -1501,7 +1492,6 @@ xfs_btree_log_ptrs(
|
|
xfs_ilog_fbroot(cur->bc_private.b.whichfork));
|
|
xfs_ilog_fbroot(cur->bc_private.b.whichfork));
|
|
}
|
|
}
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -1543,9 +1533,6 @@ xfs_btree_log_block(
|
|
XFS_BTREE_LBLOCK_CRC_LEN
|
|
XFS_BTREE_LBLOCK_CRC_LEN
|
|
};
|
|
};
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGBI(cur, bp, fields);
|
|
|
|
-
|
|
|
|
if (bp) {
|
|
if (bp) {
|
|
int nbits;
|
|
int nbits;
|
|
|
|
|
|
@@ -1573,8 +1560,6 @@ xfs_btree_log_block(
|
|
xfs_trans_log_inode(cur->bc_tp, cur->bc_private.b.ip,
|
|
xfs_trans_log_inode(cur->bc_tp, cur->bc_private.b.ip,
|
|
xfs_ilog_fbroot(cur->bc_private.b.whichfork));
|
|
xfs_ilog_fbroot(cur->bc_private.b.whichfork));
|
|
}
|
|
}
|
|
-
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -1593,9 +1578,6 @@ xfs_btree_increment(
|
|
int error; /* error return value */
|
|
int error; /* error return value */
|
|
int lev;
|
|
int lev;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGI(cur, level);
|
|
|
|
-
|
|
|
|
ASSERT(level < cur->bc_nlevels);
|
|
ASSERT(level < cur->bc_nlevels);
|
|
|
|
|
|
/* Read-ahead to the right at this level. */
|
|
/* Read-ahead to the right at this level. */
|
|
@@ -1671,17 +1653,14 @@ xfs_btree_increment(
|
|
cur->bc_ptrs[lev] = 1;
|
|
cur->bc_ptrs[lev] = 1;
|
|
}
|
|
}
|
|
out1:
|
|
out1:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
out0:
|
|
out0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1701,9 +1680,6 @@ xfs_btree_decrement(
|
|
int lev;
|
|
int lev;
|
|
union xfs_btree_ptr ptr;
|
|
union xfs_btree_ptr ptr;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGI(cur, level);
|
|
|
|
-
|
|
|
|
ASSERT(level < cur->bc_nlevels);
|
|
ASSERT(level < cur->bc_nlevels);
|
|
|
|
|
|
/* Read-ahead to the left at this level. */
|
|
/* Read-ahead to the left at this level. */
|
|
@@ -1769,17 +1745,14 @@ xfs_btree_decrement(
|
|
cur->bc_ptrs[lev] = xfs_btree_get_numrecs(block);
|
|
cur->bc_ptrs[lev] = xfs_btree_get_numrecs(block);
|
|
}
|
|
}
|
|
out1:
|
|
out1:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
out0:
|
|
out0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1881,9 +1854,6 @@ xfs_btree_lookup(
|
|
union xfs_btree_ptr *pp; /* ptr to btree block */
|
|
union xfs_btree_ptr *pp; /* ptr to btree block */
|
|
union xfs_btree_ptr ptr; /* ptr to btree block */
|
|
union xfs_btree_ptr ptr; /* ptr to btree block */
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGI(cur, dir);
|
|
|
|
-
|
|
|
|
XFS_BTREE_STATS_INC(cur, lookup);
|
|
XFS_BTREE_STATS_INC(cur, lookup);
|
|
|
|
|
|
/* No such thing as a zero-level tree. */
|
|
/* No such thing as a zero-level tree. */
|
|
@@ -1929,7 +1899,6 @@ xfs_btree_lookup(
|
|
ASSERT(level == 0 && cur->bc_nlevels == 1);
|
|
ASSERT(level == 0 && cur->bc_nlevels == 1);
|
|
|
|
|
|
cur->bc_ptrs[0] = dir != XFS_LOOKUP_LE;
|
|
cur->bc_ptrs[0] = dir != XFS_LOOKUP_LE;
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -2004,7 +1973,6 @@ xfs_btree_lookup(
|
|
if (error)
|
|
if (error)
|
|
goto error0;
|
|
goto error0;
|
|
XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1);
|
|
XFS_WANT_CORRUPTED_RETURN(cur->bc_mp, i == 1);
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -2019,11 +1987,9 @@ xfs_btree_lookup(
|
|
*stat = 1;
|
|
*stat = 1;
|
|
else
|
|
else
|
|
*stat = 0;
|
|
*stat = 0;
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2169,10 +2135,8 @@ __xfs_btree_updkeys(
|
|
trace_xfs_btree_updkeys(cur, level, bp);
|
|
trace_xfs_btree_updkeys(cur, level, bp);
|
|
#ifdef DEBUG
|
|
#ifdef DEBUG
|
|
error = xfs_btree_check_block(cur, block, level, bp);
|
|
error = xfs_btree_check_block(cur, block, level, bp);
|
|
- if (error) {
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
|
|
+ if (error)
|
|
return error;
|
|
return error;
|
|
- }
|
|
|
|
#endif
|
|
#endif
|
|
ptr = cur->bc_ptrs[level];
|
|
ptr = cur->bc_ptrs[level];
|
|
nlkey = xfs_btree_key_addr(cur, ptr, block);
|
|
nlkey = xfs_btree_key_addr(cur, ptr, block);
|
|
@@ -2224,9 +2188,6 @@ xfs_btree_update_keys(
|
|
if (cur->bc_flags & XFS_BTREE_OVERLAPPING)
|
|
if (cur->bc_flags & XFS_BTREE_OVERLAPPING)
|
|
return __xfs_btree_updkeys(cur, level, block, bp, false);
|
|
return __xfs_btree_updkeys(cur, level, block, bp, false);
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGIK(cur, level, keyp);
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Go up the tree from this level toward the root.
|
|
* Go up the tree from this level toward the root.
|
|
* At each level, update the key value to the value input.
|
|
* At each level, update the key value to the value input.
|
|
@@ -2241,10 +2202,8 @@ xfs_btree_update_keys(
|
|
block = xfs_btree_get_block(cur, level, &bp);
|
|
block = xfs_btree_get_block(cur, level, &bp);
|
|
#ifdef DEBUG
|
|
#ifdef DEBUG
|
|
error = xfs_btree_check_block(cur, block, level, bp);
|
|
error = xfs_btree_check_block(cur, block, level, bp);
|
|
- if (error) {
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
|
|
+ if (error)
|
|
return error;
|
|
return error;
|
|
- }
|
|
|
|
#endif
|
|
#endif
|
|
ptr = cur->bc_ptrs[level];
|
|
ptr = cur->bc_ptrs[level];
|
|
kp = xfs_btree_key_addr(cur, ptr, block);
|
|
kp = xfs_btree_key_addr(cur, ptr, block);
|
|
@@ -2252,7 +2211,6 @@ xfs_btree_update_keys(
|
|
xfs_btree_log_keys(cur, bp, ptr, ptr);
|
|
xfs_btree_log_keys(cur, bp, ptr, ptr);
|
|
}
|
|
}
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2272,9 +2230,6 @@ xfs_btree_update(
|
|
int ptr;
|
|
int ptr;
|
|
union xfs_btree_rec *rp;
|
|
union xfs_btree_rec *rp;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGR(cur, rec);
|
|
|
|
-
|
|
|
|
/* Pick up the current block. */
|
|
/* Pick up the current block. */
|
|
block = xfs_btree_get_block(cur, 0, &bp);
|
|
block = xfs_btree_get_block(cur, 0, &bp);
|
|
|
|
|
|
@@ -2307,11 +2262,9 @@ xfs_btree_update(
|
|
goto error0;
|
|
goto error0;
|
|
}
|
|
}
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2339,9 +2292,6 @@ xfs_btree_lshift(
|
|
int error; /* error return value */
|
|
int error; /* error return value */
|
|
int i;
|
|
int i;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGI(cur, level);
|
|
|
|
-
|
|
|
|
if ((cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) &&
|
|
if ((cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) &&
|
|
level == cur->bc_nlevels - 1)
|
|
level == cur->bc_nlevels - 1)
|
|
goto out0;
|
|
goto out0;
|
|
@@ -2500,21 +2450,17 @@ xfs_btree_lshift(
|
|
/* Slide the cursor value left one. */
|
|
/* Slide the cursor value left one. */
|
|
cur->bc_ptrs[level]--;
|
|
cur->bc_ptrs[level]--;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
out0:
|
|
out0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
|
|
|
|
error1:
|
|
error1:
|
|
- XFS_BTREE_TRACE_CURSOR(tcur, XBT_ERROR);
|
|
|
|
xfs_btree_del_cursor(tcur, XFS_BTREE_ERROR);
|
|
xfs_btree_del_cursor(tcur, XFS_BTREE_ERROR);
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
@@ -2541,9 +2487,6 @@ xfs_btree_rshift(
|
|
int error; /* error return value */
|
|
int error; /* error return value */
|
|
int i; /* loop counter */
|
|
int i; /* loop counter */
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGI(cur, level);
|
|
|
|
-
|
|
|
|
if ((cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) &&
|
|
if ((cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) &&
|
|
(level == cur->bc_nlevels - 1))
|
|
(level == cur->bc_nlevels - 1))
|
|
goto out0;
|
|
goto out0;
|
|
@@ -2676,21 +2619,17 @@ xfs_btree_rshift(
|
|
|
|
|
|
xfs_btree_del_cursor(tcur, XFS_BTREE_NOERROR);
|
|
xfs_btree_del_cursor(tcur, XFS_BTREE_NOERROR);
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
out0:
|
|
out0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
|
|
|
|
error1:
|
|
error1:
|
|
- XFS_BTREE_TRACE_CURSOR(tcur, XBT_ERROR);
|
|
|
|
xfs_btree_del_cursor(tcur, XFS_BTREE_ERROR);
|
|
xfs_btree_del_cursor(tcur, XFS_BTREE_ERROR);
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
@@ -2726,9 +2665,6 @@ __xfs_btree_split(
|
|
int i;
|
|
int i;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGIPK(cur, level, *ptrp, key);
|
|
|
|
-
|
|
|
|
XFS_BTREE_STATS_INC(cur, split);
|
|
XFS_BTREE_STATS_INC(cur, split);
|
|
|
|
|
|
/* Set up left block (current one). */
|
|
/* Set up left block (current one). */
|
|
@@ -2878,16 +2814,13 @@ __xfs_btree_split(
|
|
(*curp)->bc_ptrs[level + 1]++;
|
|
(*curp)->bc_ptrs[level + 1]++;
|
|
}
|
|
}
|
|
*ptrp = rptr;
|
|
*ptrp = rptr;
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
out0:
|
|
out0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2994,7 +2927,6 @@ xfs_btree_new_iroot(
|
|
int i; /* loop counter */
|
|
int i; /* loop counter */
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
XFS_BTREE_STATS_INC(cur, newroot);
|
|
XFS_BTREE_STATS_INC(cur, newroot);
|
|
|
|
|
|
ASSERT(cur->bc_flags & XFS_BTREE_ROOT_IN_INODE);
|
|
ASSERT(cur->bc_flags & XFS_BTREE_ROOT_IN_INODE);
|
|
@@ -3008,10 +2940,9 @@ xfs_btree_new_iroot(
|
|
error = cur->bc_ops->alloc_block(cur, pp, &nptr, stat);
|
|
error = cur->bc_ops->alloc_block(cur, pp, &nptr, stat);
|
|
if (error)
|
|
if (error)
|
|
goto error0;
|
|
goto error0;
|
|
- if (*stat == 0) {
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
|
|
+ if (*stat == 0)
|
|
return 0;
|
|
return 0;
|
|
- }
|
|
|
|
|
|
+
|
|
XFS_BTREE_STATS_INC(cur, alloc);
|
|
XFS_BTREE_STATS_INC(cur, alloc);
|
|
|
|
|
|
/* Copy the root into a real block. */
|
|
/* Copy the root into a real block. */
|
|
@@ -3074,10 +3005,8 @@ xfs_btree_new_iroot(
|
|
*logflags |=
|
|
*logflags |=
|
|
XFS_ILOG_CORE | xfs_ilog_fbroot(cur->bc_private.b.whichfork);
|
|
XFS_ILOG_CORE | xfs_ilog_fbroot(cur->bc_private.b.whichfork);
|
|
*stat = 1;
|
|
*stat = 1;
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
return 0;
|
|
return 0;
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3102,7 +3031,6 @@ xfs_btree_new_root(
|
|
union xfs_btree_ptr rptr;
|
|
union xfs_btree_ptr rptr;
|
|
union xfs_btree_ptr lptr;
|
|
union xfs_btree_ptr lptr;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
XFS_BTREE_STATS_INC(cur, newroot);
|
|
XFS_BTREE_STATS_INC(cur, newroot);
|
|
|
|
|
|
/* initialise our start point from the cursor */
|
|
/* initialise our start point from the cursor */
|
|
@@ -3202,14 +3130,11 @@ xfs_btree_new_root(
|
|
xfs_btree_setbuf(cur, cur->bc_nlevels, nbp);
|
|
xfs_btree_setbuf(cur, cur->bc_nlevels, nbp);
|
|
cur->bc_ptrs[cur->bc_nlevels] = nptr;
|
|
cur->bc_ptrs[cur->bc_nlevels] = nptr;
|
|
cur->bc_nlevels++;
|
|
cur->bc_nlevels++;
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
out0:
|
|
out0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -3230,7 +3155,7 @@ xfs_btree_make_block_unfull(
|
|
|
|
|
|
if ((cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) &&
|
|
if ((cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) &&
|
|
level == cur->bc_nlevels - 1) {
|
|
level == cur->bc_nlevels - 1) {
|
|
- struct xfs_inode *ip = cur->bc_private.b.ip;
|
|
|
|
|
|
+ struct xfs_inode *ip = cur->bc_private.b.ip;
|
|
|
|
|
|
if (numrecs < cur->bc_ops->get_dmaxrecs(cur, level)) {
|
|
if (numrecs < cur->bc_ops->get_dmaxrecs(cur, level)) {
|
|
/* A root block that can be made bigger. */
|
|
/* A root block that can be made bigger. */
|
|
@@ -3309,9 +3234,6 @@ xfs_btree_insrec(
|
|
#endif
|
|
#endif
|
|
xfs_daddr_t old_bn;
|
|
xfs_daddr_t old_bn;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGIPR(cur, level, *ptrp, &rec);
|
|
|
|
-
|
|
|
|
ncur = NULL;
|
|
ncur = NULL;
|
|
lkey = &nkey;
|
|
lkey = &nkey;
|
|
|
|
|
|
@@ -3324,14 +3246,12 @@ xfs_btree_insrec(
|
|
error = xfs_btree_new_root(cur, stat);
|
|
error = xfs_btree_new_root(cur, stat);
|
|
xfs_btree_set_ptr_null(cur, ptrp);
|
|
xfs_btree_set_ptr_null(cur, ptrp);
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
/* If we're off the left edge, return failure. */
|
|
/* If we're off the left edge, return failure. */
|
|
ptr = cur->bc_ptrs[level];
|
|
ptr = cur->bc_ptrs[level];
|
|
if (ptr == 0) {
|
|
if (ptr == 0) {
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -3489,12 +3409,10 @@ xfs_btree_insrec(
|
|
*curp = ncur;
|
|
*curp = ncur;
|
|
}
|
|
}
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3572,11 +3490,9 @@ xfs_btree_insert(
|
|
}
|
|
}
|
|
} while (!xfs_btree_ptr_is_null(cur, &nptr));
|
|
} while (!xfs_btree_ptr_is_null(cur, &nptr));
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = i;
|
|
*stat = i;
|
|
return 0;
|
|
return 0;
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3611,8 +3527,6 @@ xfs_btree_kill_iroot(
|
|
int i;
|
|
int i;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
-
|
|
|
|
ASSERT(cur->bc_flags & XFS_BTREE_ROOT_IN_INODE);
|
|
ASSERT(cur->bc_flags & XFS_BTREE_ROOT_IN_INODE);
|
|
ASSERT(cur->bc_nlevels > 1);
|
|
ASSERT(cur->bc_nlevels > 1);
|
|
|
|
|
|
@@ -3670,19 +3584,15 @@ xfs_btree_kill_iroot(
|
|
#ifdef DEBUG
|
|
#ifdef DEBUG
|
|
for (i = 0; i < numrecs; i++) {
|
|
for (i = 0; i < numrecs; i++) {
|
|
error = xfs_btree_check_ptr(cur, cpp, i, level - 1);
|
|
error = xfs_btree_check_ptr(cur, cpp, i, level - 1);
|
|
- if (error) {
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
|
|
+ if (error)
|
|
return error;
|
|
return error;
|
|
- }
|
|
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
xfs_btree_copy_ptrs(cur, pp, cpp, numrecs);
|
|
xfs_btree_copy_ptrs(cur, pp, cpp, numrecs);
|
|
|
|
|
|
error = xfs_btree_free_block(cur, cbp);
|
|
error = xfs_btree_free_block(cur, cbp);
|
|
- if (error) {
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
|
|
+ if (error)
|
|
return error;
|
|
return error;
|
|
- }
|
|
|
|
|
|
|
|
cur->bc_bufs[level - 1] = NULL;
|
|
cur->bc_bufs[level - 1] = NULL;
|
|
be16_add_cpu(&block->bb_level, -1);
|
|
be16_add_cpu(&block->bb_level, -1);
|
|
@@ -3690,7 +3600,6 @@ xfs_btree_kill_iroot(
|
|
XFS_ILOG_CORE | xfs_ilog_fbroot(cur->bc_private.b.whichfork));
|
|
XFS_ILOG_CORE | xfs_ilog_fbroot(cur->bc_private.b.whichfork));
|
|
cur->bc_nlevels--;
|
|
cur->bc_nlevels--;
|
|
out0:
|
|
out0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3706,7 +3615,6 @@ xfs_btree_kill_root(
|
|
{
|
|
{
|
|
int error;
|
|
int error;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
XFS_BTREE_STATS_INC(cur, killroot);
|
|
XFS_BTREE_STATS_INC(cur, killroot);
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -3716,16 +3624,13 @@ xfs_btree_kill_root(
|
|
cur->bc_ops->set_root(cur, newroot, -1);
|
|
cur->bc_ops->set_root(cur, newroot, -1);
|
|
|
|
|
|
error = xfs_btree_free_block(cur, bp);
|
|
error = xfs_btree_free_block(cur, bp);
|
|
- if (error) {
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
|
|
+ if (error)
|
|
return error;
|
|
return error;
|
|
- }
|
|
|
|
|
|
|
|
cur->bc_bufs[level] = NULL;
|
|
cur->bc_bufs[level] = NULL;
|
|
cur->bc_ra[level] = 0;
|
|
cur->bc_ra[level] = 0;
|
|
cur->bc_nlevels--;
|
|
cur->bc_nlevels--;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -3744,7 +3649,6 @@ xfs_btree_dec_cursor(
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -3780,15 +3684,11 @@ xfs_btree_delrec(
|
|
struct xfs_btree_cur *tcur; /* temporary btree cursor */
|
|
struct xfs_btree_cur *tcur; /* temporary btree cursor */
|
|
int numrecs; /* temporary numrec count */
|
|
int numrecs; /* temporary numrec count */
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
- XFS_BTREE_TRACE_ARGI(cur, level);
|
|
|
|
-
|
|
|
|
tcur = NULL;
|
|
tcur = NULL;
|
|
|
|
|
|
/* Get the index of the entry being deleted, check for nothing there. */
|
|
/* Get the index of the entry being deleted, check for nothing there. */
|
|
ptr = cur->bc_ptrs[level];
|
|
ptr = cur->bc_ptrs[level];
|
|
if (ptr == 0) {
|
|
if (ptr == 0) {
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -3805,7 +3705,6 @@ xfs_btree_delrec(
|
|
|
|
|
|
/* Fail if we're off the end of the block. */
|
|
/* Fail if we're off the end of the block. */
|
|
if (ptr > numrecs) {
|
|
if (ptr > numrecs) {
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = 0;
|
|
*stat = 0;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -4080,7 +3979,7 @@ xfs_btree_delrec(
|
|
tcur = NULL;
|
|
tcur = NULL;
|
|
if (level == 0)
|
|
if (level == 0)
|
|
cur->bc_ptrs[0]++;
|
|
cur->bc_ptrs[0]++;
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
|
|
+
|
|
*stat = 1;
|
|
*stat = 1;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -4250,13 +4149,11 @@ xfs_btree_delrec(
|
|
* call updkeys directly.
|
|
* call updkeys directly.
|
|
*/
|
|
*/
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
/* Return value means the next level up has something to do. */
|
|
/* Return value means the next level up has something to do. */
|
|
*stat = 2;
|
|
*stat = 2;
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
if (tcur)
|
|
if (tcur)
|
|
xfs_btree_del_cursor(tcur, XFS_BTREE_ERROR);
|
|
xfs_btree_del_cursor(tcur, XFS_BTREE_ERROR);
|
|
return error;
|
|
return error;
|
|
@@ -4277,8 +4174,6 @@ xfs_btree_delete(
|
|
int i;
|
|
int i;
|
|
bool joined = false;
|
|
bool joined = false;
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ENTRY);
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Go up the tree, starting at leaf level.
|
|
* Go up the tree, starting at leaf level.
|
|
*
|
|
*
|
|
@@ -4314,11 +4209,9 @@ xfs_btree_delete(
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_EXIT);
|
|
|
|
*stat = i;
|
|
*stat = i;
|
|
return 0;
|
|
return 0;
|
|
error0:
|
|
error0:
|
|
- XFS_BTREE_TRACE_CURSOR(cur, XBT_ERROR);
|
|
|
|
return error;
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|