1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * f2fs IO tracer 4 * 5 * Copyright (c) 2014 Motorola Mobility 6 * Copyright (c) 2014 Jaegeuk Kim <jaegeuk@kernel.org> 7 */ 8 #ifndef __F2FS_TRACE_H__ 9 #define __F2FS_TRACE_H__ 10 11 #ifdef CONFIG_F2FS_IO_TRACE 12 #include <trace/events/f2fs.h> 13 14 enum file_type { 15 __NORMAL_FILE, 16 __DIR_FILE, 17 __NODE_FILE, 18 __META_FILE, 19 __ATOMIC_FILE, 20 __VOLATILE_FILE, 21 __MISC_FILE, 22 }; 23 24 struct last_io_info { 25 int major, minor; 26 pid_t pid; 27 enum file_type type; 28 struct f2fs_io_info fio; 29 block_t len; 30 }; 31 32 extern void f2fs_trace_pid(struct page *); 33 extern void f2fs_trace_ios(struct f2fs_io_info *, int); 34 extern void f2fs_build_trace_ios(void); 35 extern void f2fs_destroy_trace_ios(void); 36 #else 37 #define f2fs_trace_pid(p) 38 #define f2fs_trace_ios(i, n) 39 #define f2fs_build_trace_ios() 40 #define f2fs_destroy_trace_ios() 41 42 #endif 43 #endif /* __F2FS_TRACE_H__ */ 44