Loading...
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
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 *);
36extern void f2fs_trace_ios(struct f2fs_io_info *, int);
37extern void f2fs_build_trace_ios(void);
38extern 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__ */
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
14enum 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
32extern void f2fs_trace_pid(struct page *);
33extern void f2fs_trace_ios(struct f2fs_io_info *, int);
34extern void f2fs_build_trace_ios(void);
35extern 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__ */