aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_ialloc_btree.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2008-10-30 01:58:32 -0400
committerLachlan McIlroy <lachlan@sgi.com>2008-10-30 01:58:32 -0400
commit4a26e66e7728112f0e1cd7eca3bcc430b3a221c9 (patch)
tree1944f9aa65476c963658b7b4679f7a64287adfb6 /fs/xfs/xfs_ialloc_btree.c
parentfd6bcc5b63051392ba709a8fd33173b263669e0a (diff)
[XFS] add keys_inorder and recs_inorder btree methods
Add methods to check whether two keys/records are in the righ order. This replaces the xfs_btree_check_key and xfs_btree_check_rec methods. For the callers from xfs_bmap.c just opencode the bmbt-specific asserts. SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32208a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com> Signed-off-by: Bill O'Donnell <billodo@sgi.com> Signed-off-by: David Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/xfs_ialloc_btree.c')
-rw-r--r--fs/xfs/xfs_ialloc_btree.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/fs/xfs/xfs_ialloc_btree.c b/fs/xfs/xfs_ialloc_btree.c
index 9f4e33c945c2..dcd4a956e73c 100644
--- a/fs/xfs/xfs_ialloc_btree.c
+++ b/fs/xfs/xfs_ialloc_btree.c
@@ -219,6 +219,28 @@ xfs_inobt_kill_root(
219 return 0; 219 return 0;
220} 220}
221 221
222#ifdef DEBUG
223STATIC int
224xfs_inobt_keys_inorder(
225 struct xfs_btree_cur *cur,
226 union xfs_btree_key *k1,
227 union xfs_btree_key *k2)
228{
229 return be32_to_cpu(k1->inobt.ir_startino) <
230 be32_to_cpu(k2->inobt.ir_startino);
231}
232
233STATIC int
234xfs_inobt_recs_inorder(
235 struct xfs_btree_cur *cur,
236 union xfs_btree_rec *r1,
237 union xfs_btree_rec *r2)
238{
239 return be32_to_cpu(r1->inobt.ir_startino) + XFS_INODES_PER_CHUNK <=
240 be32_to_cpu(r2->inobt.ir_startino);
241}
242#endif /* DEBUG */
243
222#ifdef XFS_BTREE_TRACE 244#ifdef XFS_BTREE_TRACE
223ktrace_t *xfs_inobt_trace_buf; 245ktrace_t *xfs_inobt_trace_buf;
224 246
@@ -302,6 +324,11 @@ static const struct xfs_btree_ops xfs_inobt_ops = {
302 .init_ptr_from_cur = xfs_inobt_init_ptr_from_cur, 324 .init_ptr_from_cur = xfs_inobt_init_ptr_from_cur,
303 .key_diff = xfs_inobt_key_diff, 325 .key_diff = xfs_inobt_key_diff,
304 326
327#ifdef DEBUG
328 .keys_inorder = xfs_inobt_keys_inorder,
329 .recs_inorder = xfs_inobt_recs_inorder,
330#endif
331
305#ifdef XFS_BTREE_TRACE 332#ifdef XFS_BTREE_TRACE
306 .trace_enter = xfs_inobt_trace_enter, 333 .trace_enter = xfs_inobt_trace_enter,
307 .trace_cursor = xfs_inobt_trace_cursor, 334 .trace_cursor = xfs_inobt_trace_cursor,