Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^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>