trace.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright (C) 2017 Oracle. All Rights Reserved.
  4. * Author: Darrick J. Wong <[email protected]>
  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. #include "xfs_ag.h"
  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_levels[level].bp)
  24. return XFS_DADDR_TO_FSB(cur->bc_mp,
  25. xfs_buf_daddr(cur->bc_levels[level].bp));
  26. if (level == cur->bc_nlevels - 1 &&
  27. (cur->bc_flags & XFS_BTREE_ROOT_IN_INODE))
  28. return XFS_INO_TO_FSB(cur->bc_mp, cur->bc_ino.ip->i_ino);
  29. return NULLFSBLOCK;
  30. }
  31. /*
  32. * We include this last to have the helpers above available for the trace
  33. * event implementations.
  34. */
  35. #define CREATE_TRACE_POINTS
  36. #include "scrub/trace.h"