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__ */ 44