Linux 5.6.13
[linux/fpc-iii.git] / fs / f2fs / trace.h
blobe8075fc5b2284e9a00564d4d416c4115ef1df566
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * f2fs IO tracer
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__
11 #ifdef CONFIG_F2FS_IO_TRACE
12 #include <trace/events/f2fs.h>
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,
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;
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()
42 #endif
43 #endif /* __F2FS_TRACE_H__ */