trace.h 1.0 KB
Newer Older
J
Jaegeuk Kim 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/*
 * f2fs IO tracer
 *
 * Copyright (c) 2014 Motorola Mobility
 * Copyright (c) 2014 Jaegeuk Kim <jaegeuk@kernel.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
#ifndef __F2FS_TRACE_H__
#define __F2FS_TRACE_H__

#ifdef CONFIG_F2FS_IO_TRACE
#include <trace/events/f2fs.h>

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
enum file_type {
	__NORMAL_FILE,
	__DIR_FILE,
	__NODE_FILE,
	__META_FILE,
	__ATOMIC_FILE,
	__VOLATILE_FILE,
	__MISC_FILE,
};

struct last_io_info {
	int major, minor;
	pid_t pid;
	enum file_type type;
	struct f2fs_io_info fio;
	block_t len;
};

J
Jaegeuk Kim 已提交
35 36
extern void f2fs_trace_pid(struct page *);
extern void f2fs_trace_ios(struct page *, struct f2fs_io_info *, int);
37
extern void f2fs_build_trace_ios(void);
38
extern void f2fs_destroy_trace_ios(void);
J
Jaegeuk Kim 已提交
39 40 41
#else
#define f2fs_trace_pid(p)
#define f2fs_trace_ios(p, i, n)
42
#define f2fs_build_trace_ios()
43
#define f2fs_destroy_trace_ios()
J
Jaegeuk Kim 已提交
44 45 46

#endif
#endif /* __F2FS_TRACE_H__ */