• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * f2fs IO tracer
3  *
4  * Copyright (c) 2014 Motorola Mobility
5  * Copyright (c) 2014 Jaegeuk Kim <jaegeuk@kernel.org>
6  *
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.
10  */
11 #ifndef __F2FS_TRACE_H__
12 #define __F2FS_TRACE_H__
13 
14 #ifdef CONFIG_F2FS_IO_TRACE
15 #include <trace/events/f2fs.h>
16 
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,
25 };
26 
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;
33 };
34 
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()
44 
45 #endif
46 #endif /* __F2FS_TRACE_H__ */
47