trace.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Copyright (C) 2017-2023 Oracle. All Rights Reserved.
  4. * Author: Darrick J. Wong <djwong@kernel.org>
  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 "xfs_ag.h"
  16. #include "xfs_rtbitmap.h"
  17. #include "xfs_quota.h"
  18. #include "xfs_quota_defs.h"
  19. #include "xfs_da_format.h"
  20. #include "xfs_dir2.h"
  21. #include "xfs_rmap.h"
  22. #include "xfs_parent.h"
  23. #include "scrub/scrub.h"
  24. #include "scrub/xfile.h"
  25. #include "scrub/xfarray.h"
  26. #include "scrub/quota.h"
  27. #include "scrub/iscan.h"
  28. #include "scrub/orphanage.h"
  29. #include "scrub/nlinks.h"
  30. #include "scrub/fscounters.h"
  31. #include "scrub/bitmap.h"
  32. #include "scrub/ino_bitmap.h"
  33. #include "scrub/xfblob.h"
  34. #include "scrub/dirtree.h"
  35. /* Figure out which block the btree cursor was pointing to. */
  36. static inline xfs_fsblock_t
  37. xchk_btree_cur_fsbno(
  38. struct xfs_btree_cur *cur,
  39. int level)
  40. {
  41. if (level < cur->bc_nlevels && cur->bc_levels[level].bp)
  42. return XFS_DADDR_TO_FSB(cur->bc_mp,
  43. xfs_buf_daddr(cur->bc_levels[level].bp));
  44. if (level == cur->bc_nlevels - 1 &&
  45. cur->bc_ops->type == XFS_BTREE_TYPE_INODE)
  46. return XFS_INO_TO_FSB(cur->bc_mp, cur->bc_ino.ip->i_ino);
  47. return NULLFSBLOCK;
  48. }
  49. /*
  50. * We include this last to have the helpers above available for the trace
  51. * event implementations.
  52. */
  53. #define CREATE_TRACE_POINTS
  54. #include "scrub/trace.h"