• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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