Linux 4.9.169
[linux/fpc-iii.git] / fs / f2fs / trace.h
blob67db24ac1e85aa6d6ded7b4bda21d63935d4e233
1 /*
2 * f2fs IO tracer
4 * Copyright (c) 2014 Motorola Mobility
5 * Copyright (c) 2014 Jaegeuk Kim <jaegeuk@kernel.org>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
11 #ifndef __F2FS_TRACE_H__
12 #define __F2FS_TRACE_H__
14 #ifdef CONFIG_F2FS_IO_TRACE
15 #include <trace/events/f2fs.h>
17 enum file_type {
18 __NORMAL_FILE,
19 __DIR_FILE,
20 __NODE_FILE,
21 __META_FILE,
22 __ATOMIC_FILE,
23 __VOLATILE_FILE,
24 __MISC_FILE,
27 struct last_io_info {
28 int major, minor;
29 pid_t pid;
30 enum file_type type;
31 struct f2fs_io_info fio;
32 block_t len;
35 extern void f2fs_trace_pid(struct page *);
36 extern void f2fs_trace_ios(struct f2fs_io_info *, int);
37 extern void f2fs_build_trace_ios(void);
38 extern void f2fs_destroy_trace_ios(void);
39 #else
40 #define f2fs_trace_pid(p)
41 #define f2fs_trace_ios(i, n)
42 #define f2fs_build_trace_ios()
43 #define f2fs_destroy_trace_ios()
45 #endif
46 #endif /* __F2FS_TRACE_H__ */