blob: 67db24ac1e85aa6d6ded7b4bda21d63935d4e233 [file] [log] [blame]
Jaegeuk Kime0cea842015-02-18 20:43:11 -06001/*
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
17enum 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
27struct 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
35extern void f2fs_trace_pid(struct page *);
Jaegeuk Kim4fae7dd2015-11-12 10:23:18 -060036extern void f2fs_trace_ios(struct f2fs_io_info *, int);
Jaegeuk Kime0cea842015-02-18 20:43:11 -060037extern void f2fs_build_trace_ios(void);
38extern void f2fs_destroy_trace_ios(void);
39#else
40#define f2fs_trace_pid(p)
Jaegeuk Kim4fae7dd2015-11-12 10:23:18 -060041#define f2fs_trace_ios(i, n)
Jaegeuk Kime0cea842015-02-18 20:43:11 -060042#define f2fs_build_trace_ios()
43#define f2fs_destroy_trace_ios()
44
45#endif
46#endif /* __F2FS_TRACE_H__ */