^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define TRACE_SYSTEM f2fs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #if !defined(_TRACE_F2FS_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #define _TRACE_F2FS_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #include <uapi/linux/f2fs.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define show_dev(dev) MAJOR(dev), MINOR(dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define show_dev_ino(entry) show_dev(entry->dev), (unsigned long)entry->ino
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) TRACE_DEFINE_ENUM(NODE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) TRACE_DEFINE_ENUM(DATA);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) TRACE_DEFINE_ENUM(META);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) TRACE_DEFINE_ENUM(META_FLUSH);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) TRACE_DEFINE_ENUM(INMEM);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) TRACE_DEFINE_ENUM(INMEM_DROP);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) TRACE_DEFINE_ENUM(INMEM_INVALIDATE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) TRACE_DEFINE_ENUM(INMEM_REVOKE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) TRACE_DEFINE_ENUM(IPU);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) TRACE_DEFINE_ENUM(OPU);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) TRACE_DEFINE_ENUM(HOT);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) TRACE_DEFINE_ENUM(WARM);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) TRACE_DEFINE_ENUM(COLD);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) TRACE_DEFINE_ENUM(CURSEG_HOT_DATA);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) TRACE_DEFINE_ENUM(CURSEG_WARM_DATA);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) TRACE_DEFINE_ENUM(CURSEG_COLD_DATA);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) TRACE_DEFINE_ENUM(CURSEG_HOT_NODE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) TRACE_DEFINE_ENUM(CURSEG_WARM_NODE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) TRACE_DEFINE_ENUM(CURSEG_COLD_NODE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) TRACE_DEFINE_ENUM(NO_CHECK_TYPE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) TRACE_DEFINE_ENUM(GC_GREEDY);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) TRACE_DEFINE_ENUM(GC_CB);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) TRACE_DEFINE_ENUM(FG_GC);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) TRACE_DEFINE_ENUM(BG_GC);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) TRACE_DEFINE_ENUM(LFS);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) TRACE_DEFINE_ENUM(SSR);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) TRACE_DEFINE_ENUM(__REQ_RAHEAD);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) TRACE_DEFINE_ENUM(__REQ_SYNC);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) TRACE_DEFINE_ENUM(__REQ_IDLE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) TRACE_DEFINE_ENUM(__REQ_PREFLUSH);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) TRACE_DEFINE_ENUM(__REQ_FUA);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) TRACE_DEFINE_ENUM(__REQ_PRIO);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) TRACE_DEFINE_ENUM(__REQ_META);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) TRACE_DEFINE_ENUM(CP_UMOUNT);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) TRACE_DEFINE_ENUM(CP_FASTBOOT);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) TRACE_DEFINE_ENUM(CP_SYNC);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) TRACE_DEFINE_ENUM(CP_RECOVERY);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) TRACE_DEFINE_ENUM(CP_DISCARD);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) TRACE_DEFINE_ENUM(CP_TRIMMED);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) TRACE_DEFINE_ENUM(CP_PAUSE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) TRACE_DEFINE_ENUM(CP_RESIZE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #define show_block_type(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) { NODE, "NODE" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) { DATA, "DATA" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) { META, "META" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) { META_FLUSH, "META_FLUSH" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) { INMEM, "INMEM" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) { INMEM_DROP, "INMEM_DROP" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) { INMEM_INVALIDATE, "INMEM_INVALIDATE" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) { INMEM_REVOKE, "INMEM_REVOKE" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) { IPU, "IN-PLACE" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) { OPU, "OUT-OF-PLACE" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) #define show_block_temp(temp) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) __print_symbolic(temp, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) { HOT, "HOT" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) { WARM, "WARM" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) { COLD, "COLD" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) #define F2FS_OP_FLAGS (REQ_RAHEAD | REQ_SYNC | REQ_META | REQ_PRIO | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) REQ_PREFLUSH | REQ_FUA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) #define F2FS_BIO_FLAG_MASK(t) (t & F2FS_OP_FLAGS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) #define show_bio_type(op,op_flags) show_bio_op(op), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) show_bio_op_flags(op_flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) #define show_bio_op(op) blk_op_str(op)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) #define show_bio_op_flags(flags) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) __print_flags(F2FS_BIO_FLAG_MASK(flags), "|", \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) { REQ_RAHEAD, "R" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) { REQ_SYNC, "S" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) { REQ_META, "M" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) { REQ_PRIO, "P" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) { REQ_PREFLUSH, "PF" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) { REQ_FUA, "FUA" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) #define show_data_type(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) { CURSEG_HOT_DATA, "Hot DATA" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) { CURSEG_WARM_DATA, "Warm DATA" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) { CURSEG_COLD_DATA, "Cold DATA" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) { CURSEG_HOT_NODE, "Hot NODE" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) { CURSEG_WARM_NODE, "Warm NODE" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) { CURSEG_COLD_NODE, "Cold NODE" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) { NO_CHECK_TYPE, "No TYPE" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define show_file_type(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) { 0, "FILE" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) { 1, "DIR" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) #define show_gc_type(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) { FG_GC, "Foreground GC" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) { BG_GC, "Background GC" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) #define show_alloc_mode(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) { LFS, "LFS-mode" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) { SSR, "SSR-mode" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) { AT_SSR, "AT_SSR-mode" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) #define show_victim_policy(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) { GC_GREEDY, "Greedy" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) { GC_CB, "Cost-Benefit" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) { GC_AT, "Age-threshold" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #define show_cpreason(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) __print_flags(type, "|", \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) { CP_UMOUNT, "Umount" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) { CP_FASTBOOT, "Fastboot" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) { CP_SYNC, "Sync" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) { CP_RECOVERY, "Recovery" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) { CP_DISCARD, "Discard" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) { CP_PAUSE, "Pause" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) { CP_TRIMMED, "Trimmed" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) { CP_RESIZE, "Resize" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) #define show_fsync_cpreason(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) { CP_NO_NEEDED, "no needed" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) { CP_NON_REGULAR, "non regular" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) { CP_COMPRESSED, "compressed" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) { CP_HARDLINK, "hardlink" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) { CP_SB_NEED_CP, "sb needs cp" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) { CP_WRONG_PINO, "wrong pino" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) { CP_NO_SPC_ROLL, "no space roll forward" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) { CP_NODE_NEED_CP, "node needs cp" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) { CP_FASTBOOT_MODE, "fastboot mode" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) { CP_SPEC_LOG_NUM, "log type is 2" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) { CP_RECOVER_DIR, "dir needs recovery" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) #define show_shutdown_mode(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) { F2FS_GOING_DOWN_FULLSYNC, "full sync" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) { F2FS_GOING_DOWN_METASYNC, "meta sync" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) { F2FS_GOING_DOWN_NOSYNC, "no sync" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) { F2FS_GOING_DOWN_METAFLUSH, "meta flush" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) { F2FS_GOING_DOWN_NEED_FSCK, "need fsck" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) #define show_compress_algorithm(type) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) __print_symbolic(type, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) { COMPRESS_LZO, "LZO" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) { COMPRESS_LZ4, "LZ4" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) { COMPRESS_ZSTD, "ZSTD" }, \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) { COMPRESS_LZORLE, "LZO-RLE" })
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) struct f2fs_sb_info;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) struct f2fs_io_info;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) struct extent_info;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) struct victim_sel_policy;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) struct f2fs_map_blocks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) DECLARE_EVENT_CLASS(f2fs__inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) TP_PROTO(struct inode *inode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) TP_ARGS(inode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) __field(ino_t, pino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) __field(umode_t, mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) __field(loff_t, size)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) __field(unsigned int, nlink)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) __field(blkcnt_t, blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) __field(__u8, advise)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) __entry->pino = F2FS_I(inode)->i_pino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) __entry->mode = inode->i_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) __entry->nlink = inode->i_nlink;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) __entry->size = inode->i_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) __entry->blocks = inode->i_blocks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) __entry->advise = F2FS_I(inode)->i_advise;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) TP_printk("dev = (%d,%d), ino = %lu, pino = %lu, i_mode = 0x%hx, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) "i_size = %lld, i_nlink = %u, i_blocks = %llu, i_advise = 0x%x",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) (unsigned long)__entry->pino,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) __entry->mode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) __entry->size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) (unsigned int)__entry->nlink,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) (unsigned long long)__entry->blocks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) (unsigned char)__entry->advise)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) DECLARE_EVENT_CLASS(f2fs__inode_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) TP_PROTO(struct inode *inode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) TP_ARGS(inode, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) TP_printk("dev = (%d,%d), ino = %lu, ret = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) DEFINE_EVENT(f2fs__inode, f2fs_sync_file_enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) TP_PROTO(struct inode *inode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) TP_ARGS(inode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) TRACE_EVENT(f2fs_sync_file_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) TP_PROTO(struct inode *inode, int cp_reason, int datasync, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) TP_ARGS(inode, cp_reason, datasync, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) __field(int, cp_reason)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) __field(int, datasync)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) __entry->cp_reason = cp_reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) __entry->datasync = datasync;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) TP_printk("dev = (%d,%d), ino = %lu, cp_reason: %s, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) "datasync = %d, ret = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) show_fsync_cpreason(__entry->cp_reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) __entry->datasync,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) TRACE_EVENT(f2fs_sync_fs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) TP_PROTO(struct super_block *sb, int wait),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) TP_ARGS(sb, wait),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) __field(int, dirty)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) __field(int, wait)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) __entry->dev = sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) __entry->dirty = is_sbi_flag_set(F2FS_SB(sb), SBI_IS_DIRTY);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) __entry->wait = wait;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) TP_printk("dev = (%d,%d), superblock is %s, wait = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) __entry->dirty ? "dirty" : "not dirty",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) __entry->wait)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) DEFINE_EVENT(f2fs__inode, f2fs_iget,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) TP_PROTO(struct inode *inode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) TP_ARGS(inode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) DEFINE_EVENT(f2fs__inode_exit, f2fs_iget_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) TP_PROTO(struct inode *inode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) TP_ARGS(inode, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) DEFINE_EVENT(f2fs__inode, f2fs_evict_inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) TP_PROTO(struct inode *inode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) TP_ARGS(inode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) DEFINE_EVENT(f2fs__inode_exit, f2fs_new_inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) TP_PROTO(struct inode *inode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) TP_ARGS(inode, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) TRACE_EVENT(f2fs_unlink_enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) TP_PROTO(struct inode *dir, struct dentry *dentry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) TP_ARGS(dir, dentry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) __field(loff_t, size)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) __field(blkcnt_t, blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) __field(const char *, name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) __entry->dev = dir->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) __entry->ino = dir->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) __entry->size = dir->i_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) __entry->blocks = dir->i_blocks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) __entry->name = dentry->d_name.name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) TP_printk("dev = (%d,%d), dir ino = %lu, i_size = %lld, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) "i_blocks = %llu, name = %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) __entry->size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) (unsigned long long)__entry->blocks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) __entry->name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) DEFINE_EVENT(f2fs__inode_exit, f2fs_unlink_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) TP_PROTO(struct inode *inode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) TP_ARGS(inode, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) DEFINE_EVENT(f2fs__inode_exit, f2fs_drop_inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) TP_PROTO(struct inode *inode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) TP_ARGS(inode, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) DEFINE_EVENT(f2fs__inode, f2fs_truncate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) TP_PROTO(struct inode *inode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) TP_ARGS(inode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) TRACE_EVENT(f2fs_truncate_data_blocks_range,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) TP_PROTO(struct inode *inode, nid_t nid, unsigned int ofs, int free),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) TP_ARGS(inode, nid, ofs, free),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) __field(nid_t, nid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) __field(unsigned int, ofs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) __field(int, free)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) __entry->nid = nid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) __entry->ofs = ofs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) __entry->free = free;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) TP_printk("dev = (%d,%d), ino = %lu, nid = %u, offset = %u, freed = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) (unsigned int)__entry->nid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) __entry->ofs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) __entry->free)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) DECLARE_EVENT_CLASS(f2fs__truncate_op,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) TP_PROTO(struct inode *inode, u64 from),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) TP_ARGS(inode, from),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) __field(loff_t, size)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) __field(blkcnt_t, blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) __field(u64, from)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) __entry->size = inode->i_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) __entry->blocks = inode->i_blocks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) __entry->from = from;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) TP_printk("dev = (%d,%d), ino = %lu, i_size = %lld, i_blocks = %llu, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) "start file offset = %llu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) __entry->size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) (unsigned long long)__entry->blocks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) (unsigned long long)__entry->from)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) DEFINE_EVENT(f2fs__truncate_op, f2fs_truncate_blocks_enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) TP_PROTO(struct inode *inode, u64 from),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) TP_ARGS(inode, from)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) DEFINE_EVENT(f2fs__inode_exit, f2fs_truncate_blocks_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) TP_PROTO(struct inode *inode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) TP_ARGS(inode, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) DEFINE_EVENT(f2fs__truncate_op, f2fs_truncate_inode_blocks_enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) TP_PROTO(struct inode *inode, u64 from),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) TP_ARGS(inode, from)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) DEFINE_EVENT(f2fs__inode_exit, f2fs_truncate_inode_blocks_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) TP_PROTO(struct inode *inode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) TP_ARGS(inode, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) DECLARE_EVENT_CLASS(f2fs__truncate_node,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) TP_PROTO(struct inode *inode, nid_t nid, block_t blk_addr),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) TP_ARGS(inode, nid, blk_addr),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) __field(nid_t, nid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) __field(block_t, blk_addr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) __entry->nid = nid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) __entry->blk_addr = blk_addr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) TP_printk("dev = (%d,%d), ino = %lu, nid = %u, block_address = 0x%llx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) (unsigned int)__entry->nid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) (unsigned long long)__entry->blk_addr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) DEFINE_EVENT(f2fs__truncate_node, f2fs_truncate_nodes_enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) TP_PROTO(struct inode *inode, nid_t nid, block_t blk_addr),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) TP_ARGS(inode, nid, blk_addr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) DEFINE_EVENT(f2fs__inode_exit, f2fs_truncate_nodes_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) TP_PROTO(struct inode *inode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) TP_ARGS(inode, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) DEFINE_EVENT(f2fs__truncate_node, f2fs_truncate_node,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) TP_PROTO(struct inode *inode, nid_t nid, block_t blk_addr),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) TP_ARGS(inode, nid, blk_addr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) TRACE_EVENT(f2fs_truncate_partial_nodes,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) TP_PROTO(struct inode *inode, nid_t *nid, int depth, int err),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) TP_ARGS(inode, nid, depth, err),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) __field(nid_t, nid[3])
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) __field(int, depth)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) __field(int, err)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) __entry->nid[0] = nid[0];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) __entry->nid[1] = nid[1];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) __entry->nid[2] = nid[2];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) __entry->depth = depth;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) __entry->err = err;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) TP_printk("dev = (%d,%d), ino = %lu, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) "nid[0] = %u, nid[1] = %u, nid[2] = %u, depth = %d, err = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) (unsigned int)__entry->nid[0],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) (unsigned int)__entry->nid[1],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) (unsigned int)__entry->nid[2],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) __entry->depth,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) __entry->err)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) TRACE_EVENT(f2fs_file_write_iter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) TP_PROTO(struct inode *inode, unsigned long offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) unsigned long length, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) TP_ARGS(inode, offset, length, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) __field(unsigned long, offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) __field(unsigned long, length)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) __entry->offset = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) __entry->length = length;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) TP_printk("dev = (%d,%d), ino = %lu, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) "offset = %lu, length = %lu, written(err) = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) __entry->offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) __entry->length,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) TRACE_EVENT(f2fs_map_blocks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) TP_PROTO(struct inode *inode, struct f2fs_map_blocks *map, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) TP_ARGS(inode, map, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) __field(block_t, m_lblk)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) __field(block_t, m_pblk)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) __field(unsigned int, m_len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) __field(unsigned int, m_flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) __field(int, m_seg_type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) __field(bool, m_may_create)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) __entry->m_lblk = map->m_lblk;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) __entry->m_pblk = map->m_pblk;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) __entry->m_len = map->m_len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) __entry->m_flags = map->m_flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) __entry->m_seg_type = map->m_seg_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) __entry->m_may_create = map->m_may_create;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) TP_printk("dev = (%d,%d), ino = %lu, file offset = %llu, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) "start blkaddr = 0x%llx, len = 0x%llx, flags = %u,"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) "seg_type = %d, may_create = %d, err = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) (unsigned long long)__entry->m_lblk,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) (unsigned long long)__entry->m_pblk,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) (unsigned long long)__entry->m_len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) __entry->m_flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) __entry->m_seg_type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) __entry->m_may_create,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) TRACE_EVENT(f2fs_background_gc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) TP_PROTO(struct super_block *sb, unsigned int wait_ms,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) unsigned int prefree, unsigned int free),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) TP_ARGS(sb, wait_ms, prefree, free),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) __field(unsigned int, wait_ms)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) __field(unsigned int, prefree)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) __field(unsigned int, free)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) __entry->dev = sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) __entry->wait_ms = wait_ms;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) __entry->prefree = prefree;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) __entry->free = free;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) TP_printk("dev = (%d,%d), wait_ms = %u, prefree = %u, free = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) __entry->wait_ms,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) __entry->prefree,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) __entry->free)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) TRACE_EVENT(f2fs_gc_begin,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) TP_PROTO(struct super_block *sb, bool sync, bool background,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) long long dirty_nodes, long long dirty_dents,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) long long dirty_imeta, unsigned int free_sec,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) unsigned int free_seg, int reserved_seg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) unsigned int prefree_seg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) TP_ARGS(sb, sync, background, dirty_nodes, dirty_dents, dirty_imeta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) free_sec, free_seg, reserved_seg, prefree_seg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) __field(bool, sync)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) __field(bool, background)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) __field(long long, dirty_nodes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) __field(long long, dirty_dents)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) __field(long long, dirty_imeta)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) __field(unsigned int, free_sec)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) __field(unsigned int, free_seg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) __field(int, reserved_seg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) __field(unsigned int, prefree_seg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) __entry->dev = sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) __entry->sync = sync;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) __entry->background = background;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) __entry->dirty_nodes = dirty_nodes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) __entry->dirty_dents = dirty_dents;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) __entry->dirty_imeta = dirty_imeta;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) __entry->free_sec = free_sec;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) __entry->free_seg = free_seg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) __entry->reserved_seg = reserved_seg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) __entry->prefree_seg = prefree_seg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) TP_printk("dev = (%d,%d), sync = %d, background = %d, nodes = %lld, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) "dents = %lld, imeta = %lld, free_sec:%u, free_seg:%u, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) "rsv_seg:%d, prefree_seg:%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) __entry->sync,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) __entry->background,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) __entry->dirty_nodes,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) __entry->dirty_dents,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) __entry->dirty_imeta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) __entry->free_sec,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) __entry->free_seg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) __entry->reserved_seg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) __entry->prefree_seg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) TRACE_EVENT(f2fs_gc_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) TP_PROTO(struct super_block *sb, int ret, int seg_freed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) int sec_freed, long long dirty_nodes,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) long long dirty_dents, long long dirty_imeta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) unsigned int free_sec, unsigned int free_seg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) int reserved_seg, unsigned int prefree_seg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) TP_ARGS(sb, ret, seg_freed, sec_freed, dirty_nodes, dirty_dents,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) dirty_imeta, free_sec, free_seg, reserved_seg, prefree_seg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) __field(int, seg_freed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) __field(int, sec_freed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) __field(long long, dirty_nodes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) __field(long long, dirty_dents)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) __field(long long, dirty_imeta)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) __field(unsigned int, free_sec)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) __field(unsigned int, free_seg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) __field(int, reserved_seg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) __field(unsigned int, prefree_seg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) __entry->dev = sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) __entry->seg_freed = seg_freed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) __entry->sec_freed = sec_freed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) __entry->dirty_nodes = dirty_nodes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) __entry->dirty_dents = dirty_dents;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) __entry->dirty_imeta = dirty_imeta;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) __entry->free_sec = free_sec;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) __entry->free_seg = free_seg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) __entry->reserved_seg = reserved_seg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) __entry->prefree_seg = prefree_seg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) TP_printk("dev = (%d,%d), ret = %d, seg_freed = %d, sec_freed = %d, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) "nodes = %lld, dents = %lld, imeta = %lld, free_sec:%u, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) "free_seg:%u, rsv_seg:%d, prefree_seg:%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) __entry->ret,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) __entry->seg_freed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) __entry->sec_freed,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) __entry->dirty_nodes,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) __entry->dirty_dents,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) __entry->dirty_imeta,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) __entry->free_sec,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) __entry->free_seg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) __entry->reserved_seg,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) __entry->prefree_seg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) TRACE_EVENT(f2fs_get_victim,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) TP_PROTO(struct super_block *sb, int type, int gc_type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752) struct victim_sel_policy *p, unsigned int pre_victim,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) unsigned int prefree, unsigned int free),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) TP_ARGS(sb, type, gc_type, p, pre_victim, prefree, free),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759) __field(int, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) __field(int, gc_type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) __field(int, alloc_mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) __field(int, gc_mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) __field(unsigned int, victim)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) __field(unsigned int, cost)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) __field(unsigned int, ofs_unit)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) __field(unsigned int, pre_victim)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) __field(unsigned int, prefree)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) __field(unsigned int, free)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) __entry->dev = sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) __entry->type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) __entry->gc_type = gc_type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) __entry->alloc_mode = p->alloc_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) __entry->gc_mode = p->gc_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) __entry->victim = p->min_segno;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) __entry->cost = p->min_cost;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) __entry->ofs_unit = p->ofs_unit;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) __entry->pre_victim = pre_victim;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) __entry->prefree = prefree;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) __entry->free = free;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) TP_printk("dev = (%d,%d), type = %s, policy = (%s, %s, %s), "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) "victim = %u, cost = %u, ofs_unit = %u, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) "pre_victim_secno = %d, prefree = %u, free = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) show_data_type(__entry->type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) show_gc_type(__entry->gc_type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) show_alloc_mode(__entry->alloc_mode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) show_victim_policy(__entry->gc_mode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) __entry->victim,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) __entry->cost,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) __entry->ofs_unit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) (int)__entry->pre_victim,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) __entry->prefree,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) __entry->free)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) TRACE_EVENT(f2fs_lookup_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) TP_PROTO(struct inode *dir, struct dentry *dentry, unsigned int flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) TP_ARGS(dir, dentry, flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) __string(name, dentry->d_name.name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) __field(unsigned int, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) __entry->dev = dir->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) __entry->ino = dir->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) __assign_str(name, dentry->d_name.name);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) __entry->flags = flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) TP_printk("dev = (%d,%d), pino = %lu, name:%s, flags:%u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) __get_str(name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) __entry->flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) TRACE_EVENT(f2fs_lookup_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) TP_PROTO(struct inode *dir, struct dentry *dentry, nid_t ino,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) int err),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) TP_ARGS(dir, dentry, ino, err),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) __string(name, dentry->d_name.name)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) __field(nid_t, cino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) __field(int, err)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) __entry->dev = dir->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) __entry->ino = dir->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) __assign_str(name, dentry->d_name.name);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) __entry->cino = ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) __entry->err = err;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850) TP_printk("dev = (%d,%d), pino = %lu, name:%s, ino:%u, err:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852) __get_str(name),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) __entry->cino,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) __entry->err)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) TRACE_EVENT(f2fs_readdir,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859) TP_PROTO(struct inode *dir, loff_t start_pos, loff_t end_pos, int err),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) TP_ARGS(dir, start_pos, end_pos, err),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) __field(loff_t, start)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) __field(loff_t, end)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) __field(int, err)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) __entry->dev = dir->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) __entry->ino = dir->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874) __entry->start = start_pos;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) __entry->end = end_pos;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) __entry->err = err;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) TP_printk("dev = (%d,%d), ino = %lu, start_pos:%llu, end_pos:%llu, err:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) __entry->start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) __entry->end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883) __entry->err)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886) TRACE_EVENT(f2fs_fallocate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888) TP_PROTO(struct inode *inode, int mode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889) loff_t offset, loff_t len, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 890)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 891) TP_ARGS(inode, mode, offset, len, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 892)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) __field(int, mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) __field(loff_t, offset)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) __field(loff_t, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899) __field(loff_t, size)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) __field(blkcnt_t, blocks)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907) __entry->mode = mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) __entry->offset = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910) __entry->size = inode->i_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911) __entry->blocks = inode->i_blocks;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) TP_printk("dev = (%d,%d), ino = %lu, mode = %x, offset = %lld, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916) "len = %lld, i_size = %lld, i_blocks = %llu, ret = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918) __entry->mode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) (unsigned long long)__entry->offset,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) (unsigned long long)__entry->len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 921) (unsigned long long)__entry->size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 922) (unsigned long long)__entry->blocks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 923) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 924) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 925)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 926) TRACE_EVENT(f2fs_direct_IO_enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 927)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 928) TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 929)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 930) TP_ARGS(inode, offset, len, rw),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 931)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 932) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 933) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 934) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 935) __field(loff_t, pos)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 936) __field(unsigned long, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 937) __field(int, rw)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 938) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 939)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 940) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 941) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 942) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 943) __entry->pos = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 944) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 945) __entry->rw = rw;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 946) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 947)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 948) TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu rw = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 949) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 950) __entry->pos,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 951) __entry->len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 952) __entry->rw)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 953) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 954)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 955) TRACE_EVENT(f2fs_direct_IO_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 956)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 957) TP_PROTO(struct inode *inode, loff_t offset, unsigned long len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 958) int rw, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 959)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 960) TP_ARGS(inode, offset, len, rw, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 961)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 962) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 963) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 964) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 965) __field(loff_t, pos)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 966) __field(unsigned long, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 967) __field(int, rw)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 968) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 969) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 970)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 971) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 972) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 973) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 974) __entry->pos = offset;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 975) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 976) __entry->rw = rw;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 977) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 978) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 979)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 980) TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 981) "rw = %d ret = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 982) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 983) __entry->pos,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 984) __entry->len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 985) __entry->rw,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 986) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 987) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 988)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 989) TRACE_EVENT(f2fs_reserve_new_blocks,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 990)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 991) TP_PROTO(struct inode *inode, nid_t nid, unsigned int ofs_in_node,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 992) blkcnt_t count),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 993)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 994) TP_ARGS(inode, nid, ofs_in_node, count),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 995)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 996) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 997) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 998) __field(nid_t, nid)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 999) __field(unsigned int, ofs_in_node)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) __field(blkcnt_t, count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) __entry->nid = nid;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) __entry->ofs_in_node = ofs_in_node;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) __entry->count = count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) TP_printk("dev = (%d,%d), nid = %u, ofs_in_node = %u, count = %llu",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) (unsigned int)__entry->nid,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) __entry->ofs_in_node,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) (unsigned long long)__entry->count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) DECLARE_EVENT_CLASS(f2fs__submit_page_bio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) TP_PROTO(struct page *page, struct f2fs_io_info *fio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) TP_ARGS(page, fio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) __field(pgoff_t, index)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) __field(block_t, old_blkaddr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) __field(block_t, new_blkaddr)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) __field(int, op)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) __field(int, op_flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) __field(int, temp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) __field(int, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) __entry->dev = page_file_mapping(page)->host->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) __entry->ino = page_file_mapping(page)->host->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) __entry->index = page->index;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) __entry->old_blkaddr = fio->old_blkaddr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) __entry->new_blkaddr = fio->new_blkaddr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) __entry->op = fio->op;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042) __entry->op_flags = fio->op_flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043) __entry->temp = fio->temp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) __entry->type = fio->type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) TP_printk("dev = (%d,%d), ino = %lu, page_index = 0x%lx, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) "oldaddr = 0x%llx, newaddr = 0x%llx, rw = %s(%s), type = %s_%s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) (unsigned long)__entry->index,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) (unsigned long long)__entry->old_blkaddr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) (unsigned long long)__entry->new_blkaddr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) show_bio_type(__entry->op, __entry->op_flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) show_block_temp(__entry->temp),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) show_block_type(__entry->type))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058) DEFINE_EVENT_CONDITION(f2fs__submit_page_bio, f2fs_submit_page_bio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) TP_PROTO(struct page *page, struct f2fs_io_info *fio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062) TP_ARGS(page, fio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) TP_CONDITION(page->mapping)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) DEFINE_EVENT_CONDITION(f2fs__submit_page_bio, f2fs_submit_page_write,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) TP_PROTO(struct page *page, struct f2fs_io_info *fio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) TP_ARGS(page, fio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) TP_CONDITION(page->mapping)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) DECLARE_EVENT_CLASS(f2fs__bio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) TP_PROTO(struct super_block *sb, int type, struct bio *bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) TP_ARGS(sb, type, bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084) __field(dev_t, target)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) __field(int, op)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) __field(int, op_flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) __field(int, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) __field(sector_t, sector)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) __field(unsigned int, size)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) __entry->dev = sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) __entry->target = bio_dev(bio);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) __entry->op = bio_op(bio);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) __entry->op_flags = bio->bi_opf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) __entry->type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) __entry->sector = bio->bi_iter.bi_sector;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) __entry->size = bio->bi_iter.bi_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) TP_printk("dev = (%d,%d)/(%d,%d), rw = %s(%s), %s, sector = %lld, size = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) show_dev(__entry->target),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105) show_bio_type(__entry->op, __entry->op_flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) show_block_type(__entry->type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) (unsigned long long)__entry->sector,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) __entry->size)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111) DEFINE_EVENT_CONDITION(f2fs__bio, f2fs_prepare_write_bio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113) TP_PROTO(struct super_block *sb, int type, struct bio *bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) TP_ARGS(sb, type, bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) TP_CONDITION(bio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) DEFINE_EVENT_CONDITION(f2fs__bio, f2fs_prepare_read_bio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) TP_PROTO(struct super_block *sb, int type, struct bio *bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) TP_ARGS(sb, type, bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) TP_CONDITION(bio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) DEFINE_EVENT_CONDITION(f2fs__bio, f2fs_submit_read_bio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) TP_PROTO(struct super_block *sb, int type, struct bio *bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) TP_ARGS(sb, type, bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) TP_CONDITION(bio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138) DEFINE_EVENT_CONDITION(f2fs__bio, f2fs_submit_write_bio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140) TP_PROTO(struct super_block *sb, int type, struct bio *bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) TP_ARGS(sb, type, bio),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144) TP_CONDITION(bio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147) TRACE_EVENT(f2fs_write_begin,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149) TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150) unsigned int flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) TP_ARGS(inode, pos, len, flags),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157) __field(loff_t, pos)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) __field(unsigned int, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) __field(unsigned int, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) __entry->pos = pos;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) __entry->flags = flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) TP_printk("dev = (%d,%d), ino = %lu, pos = %llu, len = %u, flags = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) (unsigned long long)__entry->pos,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173) __entry->len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) __entry->flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) TRACE_EVENT(f2fs_write_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179) TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) unsigned int copied),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182) TP_ARGS(inode, pos, len, copied),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) __field(loff_t, pos)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188) __field(unsigned int, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) __field(unsigned int, copied)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) __entry->pos = pos;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197) __entry->copied = copied;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) TP_printk("dev = (%d,%d), ino = %lu, pos = %llu, len = %u, copied = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) (unsigned long long)__entry->pos,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) __entry->len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) __entry->copied)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207) DECLARE_EVENT_CLASS(f2fs__page,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) TP_PROTO(struct page *page, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) TP_ARGS(page, type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) __field(int, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) __field(int, dir)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218) __field(pgoff_t, index)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219) __field(int, dirty)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) __field(int, uptodate)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224) __entry->dev = page_file_mapping(page)->host->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225) __entry->ino = page_file_mapping(page)->host->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) __entry->type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) __entry->dir =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228) S_ISDIR(page_file_mapping(page)->host->i_mode);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229) __entry->index = page->index;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230) __entry->dirty = PageDirty(page);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231) __entry->uptodate = PageUptodate(page);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234) TP_printk("dev = (%d,%d), ino = %lu, %s, %s, index = %lu, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235) "dirty = %d, uptodate = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237) show_block_type(__entry->type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238) show_file_type(__entry->dir),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239) (unsigned long)__entry->index,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240) __entry->dirty,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241) __entry->uptodate)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244) DEFINE_EVENT(f2fs__page, f2fs_writepage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) TP_PROTO(struct page *page, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248) TP_ARGS(page, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251) DEFINE_EVENT(f2fs__page, f2fs_do_write_data_page,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253) TP_PROTO(struct page *page, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) TP_ARGS(page, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258) DEFINE_EVENT(f2fs__page, f2fs_readpage,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260) TP_PROTO(struct page *page, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) TP_ARGS(page, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) DEFINE_EVENT(f2fs__page, f2fs_set_page_dirty,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267) TP_PROTO(struct page *page, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) TP_ARGS(page, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272) DEFINE_EVENT(f2fs__page, f2fs_vm_page_mkwrite,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274) TP_PROTO(struct page *page, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276) TP_ARGS(page, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279) DEFINE_EVENT(f2fs__page, f2fs_register_inmem_page,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281) TP_PROTO(struct page *page, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) TP_ARGS(page, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) DEFINE_EVENT(f2fs__page, f2fs_commit_inmem_page,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) TP_PROTO(struct page *page, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) TP_ARGS(page, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) TRACE_EVENT(f2fs_filemap_fault,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) TP_PROTO(struct inode *inode, pgoff_t index, unsigned long ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) TP_ARGS(inode, index, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) __field(pgoff_t, index)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303) __field(unsigned long, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) __entry->index = index;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) TP_printk("dev = (%d,%d), ino = %lu, index = %lu, ret = %lx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) (unsigned long)__entry->index,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) TRACE_EVENT(f2fs_writepages,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) TP_PROTO(struct inode *inode, struct writeback_control *wbc, int type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323) TP_ARGS(inode, wbc, type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) __field(int, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) __field(int, dir)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330) __field(long, nr_to_write)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) __field(long, pages_skipped)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) __field(loff_t, range_start)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333) __field(loff_t, range_end)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) __field(pgoff_t, writeback_index)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335) __field(int, sync_mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336) __field(char, for_kupdate)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) __field(char, for_background)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338) __field(char, tagged_writepages)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339) __field(char, for_reclaim)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340) __field(char, range_cyclic)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341) __field(char, for_sync)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347) __entry->type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348) __entry->dir = S_ISDIR(inode->i_mode);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349) __entry->nr_to_write = wbc->nr_to_write;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350) __entry->pages_skipped = wbc->pages_skipped;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351) __entry->range_start = wbc->range_start;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352) __entry->range_end = wbc->range_end;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353) __entry->writeback_index = inode->i_mapping->writeback_index;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354) __entry->sync_mode = wbc->sync_mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355) __entry->for_kupdate = wbc->for_kupdate;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356) __entry->for_background = wbc->for_background;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) __entry->tagged_writepages = wbc->tagged_writepages;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358) __entry->for_reclaim = wbc->for_reclaim;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) __entry->range_cyclic = wbc->range_cyclic;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360) __entry->for_sync = wbc->for_sync;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363) TP_printk("dev = (%d,%d), ino = %lu, %s, %s, nr_to_write %ld, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364) "skipped %ld, start %lld, end %lld, wb_idx %lu, sync_mode %d, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365) "kupdate %u background %u tagged %u reclaim %u cyclic %u sync %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367) show_block_type(__entry->type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368) show_file_type(__entry->dir),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369) __entry->nr_to_write,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370) __entry->pages_skipped,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) __entry->range_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372) __entry->range_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373) (unsigned long)__entry->writeback_index,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374) __entry->sync_mode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375) __entry->for_kupdate,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376) __entry->for_background,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377) __entry->tagged_writepages,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378) __entry->for_reclaim,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) __entry->range_cyclic,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380) __entry->for_sync)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383) TRACE_EVENT(f2fs_readpages,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385) TP_PROTO(struct inode *inode, pgoff_t start, unsigned int nrpage),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387) TP_ARGS(inode, start, nrpage),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392) __field(pgoff_t, start)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393) __field(unsigned int, nrpage)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399) __entry->start = start;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400) __entry->nrpage = nrpage;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403) TP_printk("dev = (%d,%d), ino = %lu, start = %lu nrpage = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) (unsigned long)__entry->start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406) __entry->nrpage)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) TRACE_EVENT(f2fs_write_checkpoint,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) TP_PROTO(struct super_block *sb, int reason, char *msg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413) TP_ARGS(sb, reason, msg),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) __field(int, reason)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) __field(char *, msg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) __entry->dev = sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) __entry->reason = reason;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) __entry->msg = msg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427) TP_printk("dev = (%d,%d), checkpoint for %s, state = %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) show_cpreason(__entry->reason),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) __entry->msg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433) DECLARE_EVENT_CLASS(f2fs_discard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) TP_PROTO(struct block_device *dev, block_t blkstart, block_t blklen),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437) TP_ARGS(dev, blkstart, blklen),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441) __field(block_t, blkstart)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) __field(block_t, blklen)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446) __entry->dev = dev->bd_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447) __entry->blkstart = blkstart;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) __entry->blklen = blklen;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451) TP_printk("dev = (%d,%d), blkstart = 0x%llx, blklen = 0x%llx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) (unsigned long long)__entry->blkstart,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454) (unsigned long long)__entry->blklen)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) DEFINE_EVENT(f2fs_discard, f2fs_queue_discard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459) TP_PROTO(struct block_device *dev, block_t blkstart, block_t blklen),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) TP_ARGS(dev, blkstart, blklen)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) DEFINE_EVENT(f2fs_discard, f2fs_issue_discard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466) TP_PROTO(struct block_device *dev, block_t blkstart, block_t blklen),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468) TP_ARGS(dev, blkstart, blklen)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471) DEFINE_EVENT(f2fs_discard, f2fs_remove_discard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) TP_PROTO(struct block_device *dev, block_t blkstart, block_t blklen),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475) TP_ARGS(dev, blkstart, blklen)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478) TRACE_EVENT(f2fs_issue_reset_zone,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) TP_PROTO(struct block_device *dev, block_t blkstart),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482) TP_ARGS(dev, blkstart),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) __field(block_t, blkstart)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490) __entry->dev = dev->bd_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) __entry->blkstart = blkstart;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494) TP_printk("dev = (%d,%d), reset zone at block = 0x%llx",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) (unsigned long long)__entry->blkstart)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) TRACE_EVENT(f2fs_issue_flush,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) TP_PROTO(struct block_device *dev, unsigned int nobarrier,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) unsigned int flush_merge, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504) TP_ARGS(dev, nobarrier, flush_merge, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) __field(unsigned int, nobarrier)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509) __field(unsigned int, flush_merge)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514) __entry->dev = dev->bd_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) __entry->nobarrier = nobarrier;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516) __entry->flush_merge = flush_merge;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520) TP_printk("dev = (%d,%d), %s %s, ret = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522) __entry->nobarrier ? "skip (nobarrier)" : "issue",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) __entry->flush_merge ? " with flush_merge" : "",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527) TRACE_EVENT(f2fs_lookup_extent_tree_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) TP_PROTO(struct inode *inode, unsigned int pgofs),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1530)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1531) TP_ARGS(inode, pgofs),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1532)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1533) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1534) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1535) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1536) __field(unsigned int, pgofs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1537) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1538)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1539) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1540) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1541) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1542) __entry->pgofs = pgofs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1543) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1544)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1545) TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1546) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1547) __entry->pgofs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1548) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1549)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1550) TRACE_EVENT_CONDITION(f2fs_lookup_extent_tree_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1551)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1552) TP_PROTO(struct inode *inode, unsigned int pgofs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1553) struct extent_info *ei),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1554)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1555) TP_ARGS(inode, pgofs, ei),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1556)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1557) TP_CONDITION(ei),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1558)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1559) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1560) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1561) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1562) __field(unsigned int, pgofs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1563) __field(unsigned int, fofs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1564) __field(u32, blk)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1565) __field(unsigned int, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1566) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1567)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1568) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1569) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1570) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1571) __entry->pgofs = pgofs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1572) __entry->fofs = ei->fofs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1573) __entry->blk = ei->blk;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1574) __entry->len = ei->len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1575) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1576)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1577) TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1578) "ext_info(fofs: %u, blk: %u, len: %u)",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1579) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1580) __entry->pgofs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1581) __entry->fofs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1582) __entry->blk,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1583) __entry->len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1584) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1585)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1586) TRACE_EVENT(f2fs_update_extent_tree_range,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1587)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1588) TP_PROTO(struct inode *inode, unsigned int pgofs, block_t blkaddr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1589) unsigned int len),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1590)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1591) TP_ARGS(inode, pgofs, blkaddr, len),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1592)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1593) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1594) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1595) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1596) __field(unsigned int, pgofs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1597) __field(u32, blk)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1598) __field(unsigned int, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1599) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1600)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1601) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1602) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1603) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1604) __entry->pgofs = pgofs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1605) __entry->blk = blkaddr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1606) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1607) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1608)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1609) TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1610) "blkaddr = %u, len = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1611) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1612) __entry->pgofs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1613) __entry->blk,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1614) __entry->len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1615) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1616)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1617) TRACE_EVENT(f2fs_shrink_extent_tree,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1618)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1619) TP_PROTO(struct f2fs_sb_info *sbi, unsigned int node_cnt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1620) unsigned int tree_cnt),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1621)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1622) TP_ARGS(sbi, node_cnt, tree_cnt),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1623)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1624) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1625) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1626) __field(unsigned int, node_cnt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1627) __field(unsigned int, tree_cnt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1628) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1629)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1630) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1631) __entry->dev = sbi->sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1632) __entry->node_cnt = node_cnt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1633) __entry->tree_cnt = tree_cnt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1634) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1635)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1636) TP_printk("dev = (%d,%d), shrunk: node_cnt = %u, tree_cnt = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1637) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1638) __entry->node_cnt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1639) __entry->tree_cnt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1640) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1641)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1642) TRACE_EVENT(f2fs_destroy_extent_tree,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1643)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1644) TP_PROTO(struct inode *inode, unsigned int node_cnt),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1645)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1646) TP_ARGS(inode, node_cnt),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1647)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1648) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1649) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1650) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1651) __field(unsigned int, node_cnt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1652) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1653)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1654) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1655) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1656) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1657) __entry->node_cnt = node_cnt;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1658) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1659)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1660) TP_printk("dev = (%d,%d), ino = %lu, destroyed: node_cnt = %u",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1661) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1662) __entry->node_cnt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1663) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1664)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1665) DECLARE_EVENT_CLASS(f2fs_sync_dirty_inodes,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1666)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1667) TP_PROTO(struct super_block *sb, int type, s64 count),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1668)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1669) TP_ARGS(sb, type, count),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1670)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1671) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1672) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1673) __field(int, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1674) __field(s64, count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1675) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1676)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1677) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1678) __entry->dev = sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1679) __entry->type = type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1680) __entry->count = count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1681) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1682)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1683) TP_printk("dev = (%d,%d), %s, dirty count = %lld",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1684) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1685) show_file_type(__entry->type),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1686) __entry->count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1687) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1688)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1689) DEFINE_EVENT(f2fs_sync_dirty_inodes, f2fs_sync_dirty_inodes_enter,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1690)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1691) TP_PROTO(struct super_block *sb, int type, s64 count),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1692)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1693) TP_ARGS(sb, type, count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1694) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1695)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1696) DEFINE_EVENT(f2fs_sync_dirty_inodes, f2fs_sync_dirty_inodes_exit,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1697)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1698) TP_PROTO(struct super_block *sb, int type, s64 count),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1699)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1700) TP_ARGS(sb, type, count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1701) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1702)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1703) TRACE_EVENT(f2fs_shutdown,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1704)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1705) TP_PROTO(struct f2fs_sb_info *sbi, unsigned int mode, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1706)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1707) TP_ARGS(sbi, mode, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1708)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1709) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1710) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1711) __field(unsigned int, mode)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1712) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1713) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1714)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1715) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1716) __entry->dev = sbi->sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1717) __entry->mode = mode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1718) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1719) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1720)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1721) TP_printk("dev = (%d,%d), mode: %s, ret:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1722) show_dev(__entry->dev),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1723) show_shutdown_mode(__entry->mode),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1724) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1725) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1726)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1727) DECLARE_EVENT_CLASS(f2fs_zip_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1728)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1729) TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1730) unsigned int cluster_size, unsigned char algtype),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1731)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1732) TP_ARGS(inode, cluster_idx, cluster_size, algtype),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1733)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1734) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1735) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1736) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1737) __field(pgoff_t, idx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1738) __field(unsigned int, size)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1739) __field(unsigned int, algtype)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1740) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1741)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1742) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1743) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1744) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1745) __entry->idx = cluster_idx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1746) __entry->size = cluster_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1747) __entry->algtype = algtype;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1748) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1749)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1750) TP_printk("dev = (%d,%d), ino = %lu, cluster_idx:%lu, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1751) "cluster_size = %u, algorithm = %s",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1752) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1753) __entry->idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1754) __entry->size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1755) show_compress_algorithm(__entry->algtype))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1756) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1757)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1758) DECLARE_EVENT_CLASS(f2fs_zip_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1759)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1760) TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1761) unsigned int compressed_size, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1762)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1763) TP_ARGS(inode, cluster_idx, compressed_size, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1764)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1765) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1766) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1767) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1768) __field(pgoff_t, idx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1769) __field(unsigned int, size)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1770) __field(unsigned int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1771) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1772)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1773) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1774) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1775) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1776) __entry->idx = cluster_idx;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1777) __entry->size = compressed_size;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1778) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1779) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1780)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1781) TP_printk("dev = (%d,%d), ino = %lu, cluster_idx:%lu, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1782) "compressed_size = %u, ret = %d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1783) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1784) __entry->idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1785) __entry->size,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1786) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1787) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1788)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1789) DEFINE_EVENT(f2fs_zip_start, f2fs_compress_pages_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1790)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1791) TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1792) unsigned int cluster_size, unsigned char algtype),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1793)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1794) TP_ARGS(inode, cluster_idx, cluster_size, algtype)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1795) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1796)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1797) DEFINE_EVENT(f2fs_zip_start, f2fs_decompress_pages_start,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1798)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1799) TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1800) unsigned int cluster_size, unsigned char algtype),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1801)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1802) TP_ARGS(inode, cluster_idx, cluster_size, algtype)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1803) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1804)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1805) DEFINE_EVENT(f2fs_zip_end, f2fs_compress_pages_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1806)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1807) TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1808) unsigned int compressed_size, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1809)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1810) TP_ARGS(inode, cluster_idx, compressed_size, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1811) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1812)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1813) DEFINE_EVENT(f2fs_zip_end, f2fs_decompress_pages_end,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1814)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1815) TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1816) unsigned int compressed_size, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1817)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1818) TP_ARGS(inode, cluster_idx, compressed_size, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1819) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1820)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1821) TRACE_EVENT(f2fs_iostat,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1822)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1823) TP_PROTO(struct f2fs_sb_info *sbi, unsigned long long *iostat),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1824)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1825) TP_ARGS(sbi, iostat),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1826)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1827) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1828) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1829) __field(unsigned long long, app_dio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1830) __field(unsigned long long, app_bio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1831) __field(unsigned long long, app_wio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1832) __field(unsigned long long, app_mio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1833) __field(unsigned long long, fs_dio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1834) __field(unsigned long long, fs_nio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1835) __field(unsigned long long, fs_mio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1836) __field(unsigned long long, fs_gc_dio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1837) __field(unsigned long long, fs_gc_nio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1838) __field(unsigned long long, fs_cp_dio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1839) __field(unsigned long long, fs_cp_nio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1840) __field(unsigned long long, fs_cp_mio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1841) __field(unsigned long long, app_drio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1842) __field(unsigned long long, app_brio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1843) __field(unsigned long long, app_rio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1844) __field(unsigned long long, app_mrio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1845) __field(unsigned long long, fs_drio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1846) __field(unsigned long long, fs_gdrio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1847) __field(unsigned long long, fs_cdrio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1848) __field(unsigned long long, fs_nrio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1849) __field(unsigned long long, fs_mrio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1850) __field(unsigned long long, fs_discard)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1851) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1852)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1853) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1854) __entry->dev = sbi->sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1855) __entry->app_dio = iostat[APP_DIRECT_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1856) __entry->app_bio = iostat[APP_BUFFERED_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1857) __entry->app_wio = iostat[APP_WRITE_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1858) __entry->app_mio = iostat[APP_MAPPED_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1859) __entry->fs_dio = iostat[FS_DATA_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1860) __entry->fs_nio = iostat[FS_NODE_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1861) __entry->fs_mio = iostat[FS_META_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1862) __entry->fs_gc_dio = iostat[FS_GC_DATA_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1863) __entry->fs_gc_nio = iostat[FS_GC_NODE_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1864) __entry->fs_cp_dio = iostat[FS_CP_DATA_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1865) __entry->fs_cp_nio = iostat[FS_CP_NODE_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1866) __entry->fs_cp_mio = iostat[FS_CP_META_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1867) __entry->app_drio = iostat[APP_DIRECT_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1868) __entry->app_brio = iostat[APP_BUFFERED_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1869) __entry->app_rio = iostat[APP_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1870) __entry->app_mrio = iostat[APP_MAPPED_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1871) __entry->fs_drio = iostat[FS_DATA_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1872) __entry->fs_gdrio = iostat[FS_GDATA_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1873) __entry->fs_cdrio = iostat[FS_CDATA_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1874) __entry->fs_nrio = iostat[FS_NODE_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1875) __entry->fs_mrio = iostat[FS_META_READ_IO];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1876) __entry->fs_discard = iostat[FS_DISCARD];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1877) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1878)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1879) TP_printk("dev = (%d,%d), "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1880) "app [write=%llu (direct=%llu, buffered=%llu), mapped=%llu], "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1881) "fs [data=%llu, node=%llu, meta=%llu, discard=%llu], "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1882) "gc [data=%llu, node=%llu], "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1883) "cp [data=%llu, node=%llu, meta=%llu], "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1884) "app [read=%llu (direct=%llu, buffered=%llu), mapped=%llu], "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1885) "fs [data=%llu, (gc_data=%llu, compr_data=%llu), "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1886) "node=%llu, meta=%llu]",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1887) show_dev(__entry->dev), __entry->app_wio, __entry->app_dio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1888) __entry->app_bio, __entry->app_mio, __entry->fs_dio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1889) __entry->fs_nio, __entry->fs_mio, __entry->fs_discard,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1890) __entry->fs_gc_dio, __entry->fs_gc_nio, __entry->fs_cp_dio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1891) __entry->fs_cp_nio, __entry->fs_cp_mio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1892) __entry->app_rio, __entry->app_drio, __entry->app_brio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1893) __entry->app_mrio, __entry->fs_drio, __entry->fs_gdrio,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1894) __entry->fs_cdrio, __entry->fs_nrio, __entry->fs_mrio)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1895) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1896)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1897) TRACE_EVENT(f2fs_bmap,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1898)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1899) TP_PROTO(struct inode *inode, sector_t lblock, sector_t pblock),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1900)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1901) TP_ARGS(inode, lblock, pblock),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1902)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1903) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1904) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1905) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1906) __field(sector_t, lblock)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1907) __field(sector_t, pblock)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1908) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1909)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1910) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1911) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1912) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1913) __entry->lblock = lblock;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1914) __entry->pblock = pblock;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1915) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1916)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1917) TP_printk("dev = (%d,%d), ino = %lu, lblock:%lld, pblock:%lld",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1918) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1919) (unsigned long long)__entry->lblock,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1920) (unsigned long long)__entry->pblock)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1921) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1922)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1923) TRACE_EVENT(f2fs_fiemap,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1924)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1925) TP_PROTO(struct inode *inode, sector_t lblock, sector_t pblock,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1926) unsigned long long len, unsigned int flags, int ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1927)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1928) TP_ARGS(inode, lblock, pblock, len, flags, ret),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1929)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1930) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1931) __field(dev_t, dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1932) __field(ino_t, ino)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1933) __field(sector_t, lblock)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1934) __field(sector_t, pblock)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1935) __field(unsigned long long, len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1936) __field(unsigned int, flags)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1937) __field(int, ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1938) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1939)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1940) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1941) __entry->dev = inode->i_sb->s_dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1942) __entry->ino = inode->i_ino;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1943) __entry->lblock = lblock;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1944) __entry->pblock = pblock;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1945) __entry->len = len;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1946) __entry->flags = flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1947) __entry->ret = ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1948) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1949)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1950) TP_printk("dev = (%d,%d), ino = %lu, lblock:%lld, pblock:%lld, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1951) "len:%llu, flags:%u, ret:%d",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1952) show_dev_ino(__entry),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1953) (unsigned long long)__entry->lblock,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1954) (unsigned long long)__entry->pblock,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1955) __entry->len,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1956) __entry->flags,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1957) __entry->ret)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1958) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1959)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1960) #endif /* _TRACE_F2FS_H */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1961)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1962) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1963) #include <trace/define_trace.h>