| /* SPDX-License-Identifier: GPL-2.0 */ | |
| /* | |
| * f2fs IO tracer | |
| * | |
| * Copyright (c) 2014 Motorola Mobility | |
| * Copyright (c) 2014 Jaegeuk Kim <jaegeuk@kernel.org> | |
| */ | |
| #ifndef __F2FS_TRACE_H__ | |
| #define __F2FS_TRACE_H__ | |
| #ifdef CONFIG_F2FS_IO_TRACE | |
| #include <trace/events/f2fs.h> | |
| enum file_type { | |
| __NORMAL_FILE, | |
| __DIR_FILE, | |
| __NODE_FILE, | |
| __META_FILE, | |
| __ATOMIC_FILE, | |
| __VOLATILE_FILE, | |
| __MISC_FILE, | |
| }; | |
| struct last_io_info { | |
| int major, minor; | |
| pid_t pid; | |
| enum file_type type; | |
| struct f2fs_io_info fio; | |
| block_t len; | |
| }; | |
| extern void f2fs_trace_pid(struct page *); | |
| extern void f2fs_trace_ios(struct f2fs_io_info *, int); | |
| extern void f2fs_build_trace_ios(void); | |
| extern void f2fs_destroy_trace_ios(void); | |
| #else | |
| #define f2fs_trace_pid(p) | |
| #define f2fs_trace_ios(i, n) | |
| #define f2fs_build_trace_ios() | |
| #define f2fs_destroy_trace_ios() | |
| #endif | |
| #endif /* __F2FS_TRACE_H__ */ |