root/fs/xfs/scrub/trace.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. xchk_btree_cur_fsbno

   1 // SPDX-License-Identifier: GPL-2.0+
   2 /*
   3  * Copyright (C) 2017 Oracle.  All Rights Reserved.
   4  * Author: Darrick J. Wong <darrick.wong@oracle.com>
   5  */
   6 #include "xfs.h"
   7 #include "xfs_fs.h"
   8 #include "xfs_shared.h"
   9 #include "xfs_format.h"
  10 #include "xfs_log_format.h"
  11 #include "xfs_trans_resv.h"
  12 #include "xfs_mount.h"
  13 #include "xfs_inode.h"
  14 #include "xfs_btree.h"
  15 #include "scrub/scrub.h"
  16 
  17 /* Figure out which block the btree cursor was pointing to. */
  18 static inline xfs_fsblock_t
  19 xchk_btree_cur_fsbno(
  20         struct xfs_btree_cur    *cur,
  21         int                     level)
  22 {
  23         if (level < cur->bc_nlevels && cur->bc_bufs[level])
  24                 return XFS_DADDR_TO_FSB(cur->bc_mp, cur->bc_bufs[level]->b_bn);
  25         else if (level == cur->bc_nlevels - 1 &&
  26                  cur->bc_flags & XFS_BTREE_LONG_PTRS)
  27                 return XFS_INO_TO_FSB(cur->bc_mp, cur->bc_private.b.ip->i_ino);
  28         else if (!(cur->bc_flags & XFS_BTREE_LONG_PTRS))
  29                 return XFS_AGB_TO_FSB(cur->bc_mp, cur->bc_private.a.agno, 0);
  30         return NULLFSBLOCK;
  31 }
  32 
  33 /*
  34  * We include this last to have the helpers above available for the trace
  35  * event implementations.
  36  */
  37 #define CREATE_TRACE_POINTS
  38 #include "scrub/trace.h"

/* [<][>][^][v][top][bottom][index][help] */