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 page *, 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(p, i, n) 42#define f2fs_build_trace_ios() 43#define f2fs_destroy_trace_ios() 44 45#endif 46#endif /* __F2FS_TRACE_H__ */ 47