blob: e8075fc5b2284e9a00564d4d416c4115ef1df566 [file] [log] [blame]
Chao Yu6d1a8322018-09-12 09:16:07 +08001// SPDX-License-Identifier: GPL-2.0
Jaegeuk Kim63f92dd2014-12-17 19:45:05 -08002/*
3 * f2fs IO tracer
4 *
5 * Copyright (c) 2014 Motorola Mobility
6 * Copyright (c) 2014 Jaegeuk Kim <jaegeuk@kernel.org>
Jaegeuk Kim63f92dd2014-12-17 19:45:05 -08007 */
8#ifndef __F2FS_TRACE_H__
9#define __F2FS_TRACE_H__
10
11#ifdef CONFIG_F2FS_IO_TRACE
12#include <trace/events/f2fs.h>
13
Jaegeuk Kim0e689d02014-12-17 19:51:57 -080014enum 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
24struct 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
Jaegeuk Kim63f92dd2014-12-17 19:45:05 -080032extern void f2fs_trace_pid(struct page *);
Jaegeuk Kim05ca3632015-04-23 14:38:15 -070033extern void f2fs_trace_ios(struct f2fs_io_info *, int);
Jaegeuk Kimc0508652015-01-07 14:07:36 -080034extern void f2fs_build_trace_ios(void);
Jaegeuk Kim351f4fb2015-01-07 14:09:48 -080035extern void f2fs_destroy_trace_ios(void);
Jaegeuk Kim63f92dd2014-12-17 19:45:05 -080036#else
37#define f2fs_trace_pid(p)
Jaegeuk Kim05ca3632015-04-23 14:38:15 -070038#define f2fs_trace_ios(i, n)
Jaegeuk Kimc0508652015-01-07 14:07:36 -080039#define f2fs_build_trace_ios()
Jaegeuk Kim351f4fb2015-01-07 14:09:48 -080040#define f2fs_destroy_trace_ios()
Jaegeuk Kim63f92dd2014-12-17 19:45:05 -080041
42#endif
43#endif /* __F2FS_TRACE_H__ */