| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | #undef TRACE_SYSTEM
 | 
					
						
							|  |  |  | #define TRACE_SYSTEM ext4
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-13 10:33:21 +08:00
										 |  |  | #if !defined(_TRACE_EXT4_H) || defined(TRACE_HEADER_MULTI_READ)
 | 
					
						
							|  |  |  | #define _TRACE_EXT4_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | #include <linux/writeback.h>
 | 
					
						
							|  |  |  | #include <linux/tracepoint.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-14 22:59:50 -04:00
										 |  |  | struct ext4_allocation_context; | 
					
						
							|  |  |  | struct ext4_allocation_request; | 
					
						
							| 
									
										
										
										
											2011-10-27 11:43:23 -04:00
										 |  |  | struct ext4_extent; | 
					
						
							| 
									
										
										
										
											2009-09-14 22:59:50 -04:00
										 |  |  | struct ext4_prealloc_space; | 
					
						
							| 
									
										
										
										
											2009-09-16 19:30:40 -04:00
										 |  |  | struct ext4_inode_info; | 
					
						
							| 
									
										
										
										
											2009-09-30 00:51:22 -04:00
										 |  |  | struct mpage_da_data; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | struct ext4_map_blocks; | 
					
						
							|  |  |  | struct ext4_extent; | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | struct extent_status; | 
					
						
							| 
									
										
										
										
											2009-09-16 19:30:40 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
 | 
					
						
							| 
									
										
										
										
											2009-09-14 22:59:50 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | #define show_mballoc_flags(flags) __print_flags(flags, "|",	\
 | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_MERGE,		"HINT_MERGE" },		\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_RESERVED,	"HINT_RESV" },		\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_METADATA,	"HINT_MDATA" },		\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_FIRST,		"HINT_FIRST" },		\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_BEST,		"HINT_BEST" },		\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_DATA,		"HINT_DATA" },		\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_NOPREALLOC,	"HINT_NOPREALLOC" },	\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_GROUP_ALLOC,	"HINT_GRP_ALLOC" },	\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_GOAL_ONLY,	"HINT_GOAL_ONLY" },	\ | 
					
						
							|  |  |  | 	{ EXT4_MB_HINT_TRY_GOAL,	"HINT_TRY_GOAL" },	\ | 
					
						
							|  |  |  | 	{ EXT4_MB_DELALLOC_RESERVED,	"DELALLOC_RESV" },	\ | 
					
						
							|  |  |  | 	{ EXT4_MB_STREAM_ALLOC,		"STREAM_ALLOC" },	\ | 
					
						
							|  |  |  | 	{ EXT4_MB_USE_ROOT_BLOCKS,	"USE_ROOT_BLKS" },	\ | 
					
						
							|  |  |  | 	{ EXT4_MB_USE_RESERVED,		"USE_RESV" }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define show_map_flags(flags) __print_flags(flags, "|",			\
 | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_CREATE,		"CREATE" },		\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_UNINIT_EXT,		"UNINIT" },		\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_DELALLOC_RESERVE,	"DELALLOC" },		\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_PRE_IO,		"PRE_IO" },		\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_CONVERT,		"CONVERT" },		\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_METADATA_NOFAIL,	"METADATA_NOFAIL" },	\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_NO_NORMALIZE,		"NO_NORMALIZE" },	\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_KEEP_SIZE,		"KEEP_SIZE" },		\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_NO_LOCK,		"NO_LOCK" },		\ | 
					
						
							|  |  |  | 	{ EXT4_GET_BLOCKS_NO_PUT_HOLE,		"NO_PUT_HOLE" }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define show_mflags(flags) __print_flags(flags, "",	\
 | 
					
						
							|  |  |  | 	{ EXT4_MAP_NEW,		"N" },			\ | 
					
						
							|  |  |  | 	{ EXT4_MAP_MAPPED,	"M" },			\ | 
					
						
							|  |  |  | 	{ EXT4_MAP_UNWRITTEN,	"U" },			\ | 
					
						
							|  |  |  | 	{ EXT4_MAP_BOUNDARY,	"B" },			\ | 
					
						
							|  |  |  | 	{ EXT4_MAP_UNINIT,	"u" },			\ | 
					
						
							|  |  |  | 	{ EXT4_MAP_FROM_CLUSTER, "C" }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define show_free_flags(flags) __print_flags(flags, "|",	\
 | 
					
						
							|  |  |  | 	{ EXT4_FREE_BLOCKS_METADATA,		"METADATA" },	\ | 
					
						
							|  |  |  | 	{ EXT4_FREE_BLOCKS_FORGET,		"FORGET" },	\ | 
					
						
							|  |  |  | 	{ EXT4_FREE_BLOCKS_VALIDATED,		"VALIDATED" },	\ | 
					
						
							|  |  |  | 	{ EXT4_FREE_BLOCKS_NO_QUOT_UPDATE,	"NO_QUOTA" },	\ | 
					
						
							|  |  |  | 	{ EXT4_FREE_BLOCKS_NOFREE_FIRST_CLUSTER,"1ST_CLUSTER" },\ | 
					
						
							|  |  |  | 	{ EXT4_FREE_BLOCKS_NOFREE_LAST_CLUSTER,	"LAST_CLUSTER" }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define show_extent_status(status) __print_flags(status, "",	\
 | 
					
						
							|  |  |  | 	{ (1 << 3),	"W" }, 					\ | 
					
						
							|  |  |  | 	{ (1 << 2),	"U" },					\ | 
					
						
							|  |  |  | 	{ (1 << 1),	"D" },					\ | 
					
						
							|  |  |  | 	{ (1 << 0),	"H" }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | TRACE_EVENT(ext4_free_inode, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	uid_t,	uid			) | 
					
						
							|  |  |  | 		__field(	gid_t,	gid			) | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__field(	__u64, blocks			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	__u16, mode			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2012-02-07 15:41:49 -08:00
										 |  |  | 		__entry->uid	= i_uid_read(inode); | 
					
						
							|  |  |  | 		__entry->gid	= i_gid_read(inode); | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->blocks	= inode->i_blocks; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->mode	= inode->i_mode; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %llu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->mode, | 
					
						
							|  |  |  | 		  __entry->uid, __entry->gid, __entry->blocks) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_request_inode, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *dir, int mode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dir, mode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	dir			) | 
					
						
							| 
									
										
										
										
											2011-07-30 12:38:46 -04:00
										 |  |  | 		__field(	__u16, mode			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= dir->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->dir	= dir->i_ino; | 
					
						
							|  |  |  | 		__entry->mode	= mode; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d dir %lu mode 0%o", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->dir, __entry->mode) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_allocate_inode, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, struct inode *dir, int mode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, dir, mode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	ino_t,	dir			) | 
					
						
							| 
									
										
										
										
											2011-07-30 12:38:46 -04:00
										 |  |  | 		__field(	__u16,	mode			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->dir	= dir->i_ino; | 
					
						
							|  |  |  | 		__entry->mode	= mode; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu dir %lu mode 0%o", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2009-09-17 08:50:18 -04:00
										 |  |  | 		  (unsigned long) __entry->dir, __entry->mode) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | TRACE_EVENT(ext4_evict_inode, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	int,	nlink			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->nlink	= inode->i_nlink; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu nlink %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->nlink) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_drop_inode, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, int drop), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, drop), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	int,	drop			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->drop	= drop; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu drop %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->drop) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_mark_inode_dirty, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, unsigned long IP), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, IP), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(unsigned long,	ip			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->ip	= IP; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu caller %pF", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		  (unsigned long) __entry->ino, (void *)__entry->ip) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_begin_ordered_truncate, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, loff_t new_size), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, new_size), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	loff_t,	new_size		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->new_size	= new_size; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu new_size %lld", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->new_size) | 
					
						
							| 
									
										
										
										
											2010-11-08 13:51:33 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 15:07:36 +08:00
										 |  |  | DECLARE_EVENT_CLASS(ext4__write_begin, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | 
					
						
							|  |  |  | 		 unsigned int flags), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, pos, len, flags), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	loff_t,	pos			) | 
					
						
							|  |  |  | 		__field(	unsigned int, len		) | 
					
						
							|  |  |  | 		__field(	unsigned int, flags		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->pos	= pos; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 		__entry->flags	= flags; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu pos %lld len %u flags %u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2009-09-17 08:50:18 -04:00
										 |  |  | 		  __entry->pos, __entry->len, __entry->flags) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 15:07:36 +08:00
										 |  |  | DEFINE_EVENT(ext4__write_begin, ext4_write_begin, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | 
					
						
							|  |  |  | 		 unsigned int flags), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, pos, len, flags) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__write_begin, ext4_da_write_begin, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | 
					
						
							|  |  |  | 		 unsigned int flags), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, pos, len, flags) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DECLARE_EVENT_CLASS(ext4__write_end, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | 
					
						
							|  |  |  | 			unsigned int copied), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, pos, len, copied), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	loff_t,	pos			) | 
					
						
							|  |  |  | 		__field(	unsigned int, len		) | 
					
						
							|  |  |  | 		__field(	unsigned int, copied		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->pos	= pos; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 		__entry->copied	= copied; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu pos %lld len %u copied %u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->pos, __entry->len, __entry->copied) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-03 12:39:17 -04:00
										 |  |  | DEFINE_EVENT(ext4__write_end, ext4_write_end, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 15:07:36 +08:00
										 |  |  | 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | 
					
						
							|  |  |  | 		 unsigned int copied), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 15:07:36 +08:00
										 |  |  | 	TP_ARGS(inode, pos, len, copied) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 15:07:36 +08:00
										 |  |  | DEFINE_EVENT(ext4__write_end, ext4_journalled_write_end, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | 
					
						
							|  |  |  | 		 unsigned int copied), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 15:07:36 +08:00
										 |  |  | 	TP_ARGS(inode, pos, len, copied) | 
					
						
							|  |  |  | ); | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 15:07:36 +08:00
										 |  |  | DEFINE_EVENT(ext4__write_end, ext4_da_write_end, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-26 15:07:36 +08:00
										 |  |  | 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, | 
					
						
							|  |  |  | 		 unsigned int copied), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, pos, len, copied) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-06 14:00:46 -04:00
										 |  |  | TRACE_EVENT(ext4_writepages, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, struct writeback_control *wbc), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, wbc), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	long,	nr_to_write		) | 
					
						
							|  |  |  | 		__field(	long,	pages_skipped		) | 
					
						
							|  |  |  | 		__field(	loff_t,	range_start		) | 
					
						
							|  |  |  | 		__field(	loff_t,	range_end		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(       pgoff_t,	writeback_index		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	int,	sync_mode		) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	char,	for_kupdate		) | 
					
						
							|  |  |  | 		__field(	char,	range_cyclic		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->nr_to_write	= wbc->nr_to_write; | 
					
						
							|  |  |  | 		__entry->pages_skipped	= wbc->pages_skipped; | 
					
						
							|  |  |  | 		__entry->range_start	= wbc->range_start; | 
					
						
							|  |  |  | 		__entry->range_end	= wbc->range_end; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->writeback_index = inode->i_mapping->writeback_index; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->sync_mode	= wbc->sync_mode; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->for_kupdate	= wbc->for_kupdate; | 
					
						
							|  |  |  | 		__entry->range_cyclic	= wbc->range_cyclic; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 23:44:47 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu nr_to_write %ld pages_skipped %ld " | 
					
						
							| 
									
										
										
										
											2012-08-17 09:52:17 -04:00
										 |  |  | 		  "range_start %lld range_end %lld sync_mode %d " | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  "for_kupdate %d range_cyclic %d writeback_index %lu", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2009-09-17 08:50:18 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->nr_to_write, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		  __entry->pages_skipped, __entry->range_start, | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  __entry->range_end, __entry->sync_mode, | 
					
						
							|  |  |  | 		  __entry->for_kupdate, __entry->range_cyclic, | 
					
						
							| 
									
										
										
										
											2009-09-29 13:31:31 -04:00
										 |  |  | 		  (unsigned long) __entry->writeback_index) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-31 23:13:11 -04:00
										 |  |  | TRACE_EVENT(ext4_da_write_pages, | 
					
						
							| 
									
										
										
										
											2013-06-04 13:17:40 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, pgoff_t first_page, | 
					
						
							|  |  |  | 		 struct writeback_control *wbc), | 
					
						
							| 
									
										
										
										
											2009-08-31 23:13:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 13:17:40 -04:00
										 |  |  | 	TP_ARGS(inode, first_page, wbc), | 
					
						
							| 
									
										
										
										
											2009-08-31 23:13:11 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-08-31 23:13:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2013-06-04 13:17:40 -04:00
										 |  |  | 		__field(      pgoff_t,	first_page		) | 
					
						
							|  |  |  | 		__field(	 long,	nr_to_write		) | 
					
						
							|  |  |  | 		__field(	  int,	sync_mode		) | 
					
						
							| 
									
										
										
										
											2009-08-31 23:13:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-08-31 23:13:11 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2013-06-04 13:17:40 -04:00
										 |  |  | 		__entry->first_page	= first_page; | 
					
						
							|  |  |  | 		__entry->nr_to_write	= wbc->nr_to_write; | 
					
						
							|  |  |  | 		__entry->sync_mode	= wbc->sync_mode; | 
					
						
							| 
									
										
										
										
											2009-08-31 23:13:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 13:17:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu first_page %lu nr_to_write %ld " | 
					
						
							|  |  |  | 		  "sync_mode %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2013-06-04 13:17:40 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->first_page, | 
					
						
							|  |  |  | 		  __entry->nr_to_write, __entry->sync_mode) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_da_write_pages_extent, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, map), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							|  |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	lblk			) | 
					
						
							|  |  |  | 		__field(	__u32,	len			) | 
					
						
							|  |  |  | 		__field(	__u32,	flags			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->lblk		= map->m_lblk; | 
					
						
							|  |  |  | 		__entry->len		= map->m_len; | 
					
						
							|  |  |  | 		__entry->flags		= map->m_flags; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu lblk %llu len %u flags %s", | 
					
						
							| 
									
										
										
										
											2013-06-04 13:17:40 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, __entry->lblk, __entry->len, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  show_mflags(__entry->flags)) | 
					
						
							| 
									
										
										
										
											2009-08-31 23:13:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-06 14:00:46 -04:00
										 |  |  | TRACE_EVENT(ext4_writepages_result, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, struct writeback_control *wbc, | 
					
						
							|  |  |  | 			int ret, int pages_written), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, wbc, ret, pages_written), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	int,	ret			) | 
					
						
							|  |  |  | 		__field(	int,	pages_written		) | 
					
						
							|  |  |  | 		__field(	long,	pages_skipped		) | 
					
						
							| 
									
										
										
										
											2009-09-29 13:31:31 -04:00
										 |  |  | 		__field(       pgoff_t,	writeback_index		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	int,	sync_mode		) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->ret		= ret; | 
					
						
							|  |  |  | 		__entry->pages_written	= pages_written; | 
					
						
							|  |  |  | 		__entry->pages_skipped	= wbc->pages_skipped; | 
					
						
							| 
									
										
										
										
											2009-09-29 13:31:31 -04:00
										 |  |  | 		__entry->writeback_index = inode->i_mapping->writeback_index; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->sync_mode	= wbc->sync_mode; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu ret %d pages_written %d pages_skipped %ld " | 
					
						
							| 
									
										
										
										
											2010-07-21 22:19:51 -06:00
										 |  |  | 		  "sync_mode %d writeback_index %lu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2009-09-17 08:50:18 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->ret, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		  __entry->pages_written, __entry->pages_skipped, | 
					
						
							| 
									
										
										
										
											2010-07-21 22:19:51 -06:00
										 |  |  | 		  __entry->sync_mode, | 
					
						
							| 
									
										
										
										
											2009-09-29 13:31:31 -04:00
										 |  |  | 		  (unsigned long) __entry->writeback_index) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | DECLARE_EVENT_CLASS(ext4__page_op, | 
					
						
							|  |  |  | 	TP_PROTO(struct page *page), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(page), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	pgoff_t, index			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= page->mapping->host->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= page->mapping->host->i_ino; | 
					
						
							|  |  |  | 		__entry->index	= page->index; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu page_index %lu", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  (unsigned long) __entry->index) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__page_op, ext4_writepage, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct page *page), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(page) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__page_op, ext4_readpage, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct page *page), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(page) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__page_op, ext4_releasepage, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct page *page), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(page) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-25 13:28:54 -05:00
										 |  |  | DECLARE_EVENT_CLASS(ext4_invalidatepage_op, | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 	TP_PROTO(struct page *page, unsigned int offset, unsigned int length), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 	TP_ARGS(page, offset, length), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							|  |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	pgoff_t, index			) | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 		__field(	unsigned int, offset		) | 
					
						
							|  |  |  | 		__field(	unsigned int, length		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->dev	= page->mapping->host->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino	= page->mapping->host->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->index	= page->index; | 
					
						
							|  |  |  | 		__entry->offset	= offset; | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 		__entry->length	= length; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu page_index %lu offset %u length %u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 		  (unsigned long) __entry->index, | 
					
						
							|  |  |  | 		  __entry->offset, __entry->length) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-25 13:28:54 -05:00
										 |  |  | DEFINE_EVENT(ext4_invalidatepage_op, ext4_invalidatepage, | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 	TP_PROTO(struct page *page, unsigned int offset, unsigned int length), | 
					
						
							| 
									
										
										
										
											2012-12-25 13:28:54 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 	TP_ARGS(page, offset, length) | 
					
						
							| 
									
										
										
										
											2012-12-25 13:28:54 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4_invalidatepage_op, ext4_journalled_invalidatepage, | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 	TP_PROTO(struct page *page, unsigned int offset, unsigned int length), | 
					
						
							| 
									
										
										
										
											2012-12-25 13:28:54 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-21 23:25:01 -04:00
										 |  |  | 	TP_ARGS(page, offset, length) | 
					
						
							| 
									
										
										
										
											2012-12-25 13:28:54 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | TRACE_EVENT(ext4_discard_blocks, | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, unsigned long long blk, | 
					
						
							|  |  |  | 			unsigned long long count), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, blk, count), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	__u64,	blk			) | 
					
						
							|  |  |  | 		__field(	__u64,	count			) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->blk	= blk; | 
					
						
							|  |  |  | 		__entry->count	= count; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d blk %llu count %llu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  __entry->blk, __entry->count) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | DECLARE_EVENT_CLASS(ext4__mb_new_pa, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	TP_PROTO(struct ext4_allocation_context *ac, | 
					
						
							|  |  |  | 		 struct ext4_prealloc_space *pa), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(ac, pa), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	pa_pstart		) | 
					
						
							|  |  |  | 		__field(	__u64,	pa_lstart		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	__u32,	pa_len			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= ac->ac_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino		= ac->ac_inode->i_ino; | 
					
						
							|  |  |  | 		__entry->pa_pstart	= pa->pa_pstart; | 
					
						
							|  |  |  | 		__entry->pa_lstart	= pa->pa_lstart; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->pa_len		= pa->pa_len; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu pstart %llu len %u lstart %llu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->pa_pstart, __entry->pa_len, __entry->pa_lstart) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | DEFINE_EVENT(ext4__mb_new_pa, ext4_mb_new_inode_pa, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	TP_PROTO(struct ext4_allocation_context *ac, | 
					
						
							|  |  |  | 		 struct ext4_prealloc_space *pa), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | 	TP_ARGS(ac, pa) | 
					
						
							|  |  |  | ); | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | DEFINE_EVENT(ext4__mb_new_pa, ext4_mb_new_group_pa, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | 	TP_PROTO(struct ext4_allocation_context *ac, | 
					
						
							|  |  |  | 		 struct ext4_prealloc_space *pa), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | 	TP_ARGS(ac, pa) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_mb_release_inode_pa, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_PROTO(struct ext4_prealloc_space *pa, | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		 unsigned long long block, unsigned int count), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_ARGS(pa, block, count), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	block			) | 
					
						
							|  |  |  | 		__field(	__u32,	count			) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__entry->dev		= pa->pa_inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino		= pa->pa_inode->i_ino; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->block		= block; | 
					
						
							|  |  |  | 		__entry->count		= count; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu block %llu count %u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->block, __entry->count) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_mb_release_group_pa, | 
					
						
							| 
									
										
										
										
											2011-12-18 15:49:54 -05:00
										 |  |  | 	TP_PROTO(struct super_block *sb, struct ext4_prealloc_space *pa), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-18 15:49:54 -05:00
										 |  |  | 	TP_ARGS(sb, pa), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	__u64,	pa_pstart		) | 
					
						
							|  |  |  | 		__field(	__u32,	pa_len			) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-12-18 15:49:54 -05:00
										 |  |  | 		__entry->dev		= sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->pa_pstart	= pa->pa_pstart; | 
					
						
							|  |  |  | 		__entry->pa_len		= pa->pa_len; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d pstart %llu len %u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  __entry->pa_pstart, __entry->pa_len) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_discard_preallocations, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_mb_discard_preallocations, | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, int needed), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, needed), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	int,	needed			) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->needed	= needed; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d needed %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  __entry->needed) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_request_blocks, | 
					
						
							|  |  |  | 	TP_PROTO(struct ext4_allocation_request *ar), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(ar), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	unsigned int, len		) | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__field(	__u32,  logical			) | 
					
						
							|  |  |  | 		__field(	__u32,	lleft			) | 
					
						
							|  |  |  | 		__field(	__u32,	lright			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	__u64,	goal			) | 
					
						
							|  |  |  | 		__field(	__u64,	pleft			) | 
					
						
							|  |  |  | 		__field(	__u64,	pright			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	unsigned int, flags		) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= ar->inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino	= ar->inode->i_ino; | 
					
						
							|  |  |  | 		__entry->len	= ar->len; | 
					
						
							|  |  |  | 		__entry->logical = ar->logical; | 
					
						
							|  |  |  | 		__entry->goal	= ar->goal; | 
					
						
							|  |  |  | 		__entry->lleft	= ar->lleft; | 
					
						
							|  |  |  | 		__entry->lright	= ar->lright; | 
					
						
							|  |  |  | 		__entry->pleft	= ar->pleft; | 
					
						
							|  |  |  | 		__entry->pright	= ar->pright; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->flags	= ar->flags; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu flags %s len %u lblk %u goal %llu " | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  "lleft %u lright %u pleft %llu pright %llu ", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, show_mballoc_flags(__entry->flags), | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->len, __entry->logical, __entry->goal, | 
					
						
							|  |  |  | 		  __entry->lleft, __entry->lright, __entry->pleft, | 
					
						
							|  |  |  | 		  __entry->pright) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_allocate_blocks, | 
					
						
							|  |  |  | 	TP_PROTO(struct ext4_allocation_request *ar, unsigned long long block), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(ar, block), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	block			) | 
					
						
							|  |  |  | 		__field(	unsigned int, len		) | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__field(	__u32,  logical			) | 
					
						
							|  |  |  | 		__field(	__u32,	lleft			) | 
					
						
							|  |  |  | 		__field(	__u32,	lright			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	__u64,	goal			) | 
					
						
							|  |  |  | 		__field(	__u64,	pleft			) | 
					
						
							|  |  |  | 		__field(	__u64,	pright			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	unsigned int, flags		) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= ar->inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino	= ar->inode->i_ino; | 
					
						
							|  |  |  | 		__entry->block	= block; | 
					
						
							|  |  |  | 		__entry->len	= ar->len; | 
					
						
							|  |  |  | 		__entry->logical = ar->logical; | 
					
						
							|  |  |  | 		__entry->goal	= ar->goal; | 
					
						
							|  |  |  | 		__entry->lleft	= ar->lleft; | 
					
						
							|  |  |  | 		__entry->lright	= ar->lright; | 
					
						
							|  |  |  | 		__entry->pleft	= ar->pleft; | 
					
						
							|  |  |  | 		__entry->pright	= ar->pright; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->flags	= ar->flags; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu flags %s len %u block %llu lblk %u " | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  "goal %llu lleft %u lright %u pleft %llu pright %llu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, show_mballoc_flags(__entry->flags), | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->len, __entry->block, __entry->logical, | 
					
						
							|  |  |  | 		  __entry->goal,  __entry->lleft, __entry->lright, | 
					
						
							|  |  |  | 		  __entry->pleft, __entry->pright) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_free_blocks, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, __u64 block, unsigned long count, | 
					
						
							| 
									
										
										
										
											2009-11-23 07:17:05 -05:00
										 |  |  | 		 int flags), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 07:17:05 -05:00
										 |  |  | 	TP_ARGS(inode, block, count, flags), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	block			) | 
					
						
							|  |  |  | 		__field(	unsigned long,	count		) | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__field(	int,	flags			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	__u16,	mode			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->block		= block; | 
					
						
							|  |  |  | 		__entry->count		= count; | 
					
						
							| 
									
										
										
										
											2009-11-23 07:17:05 -05:00
										 |  |  | 		__entry->flags		= flags; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->mode		= inode->i_mode; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu mode 0%o block %llu count %lu flags %s", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2009-11-23 07:17:05 -05:00
										 |  |  | 		  __entry->mode, __entry->block, __entry->count, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  show_free_flags(__entry->flags)) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | TRACE_EVENT(ext4_sync_file_enter, | 
					
						
							| 
									
										
										
										
											2010-05-26 17:53:25 +02:00
										 |  |  | 	TP_PROTO(struct file *file, int datasync), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-26 17:53:25 +02:00
										 |  |  | 	TP_ARGS(file, datasync), | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	ino_t,	parent			) | 
					
						
							|  |  |  | 		__field(	int,	datasync		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2010-05-26 17:53:25 +02:00
										 |  |  | 		struct dentry *dentry = file->f_path.dentry; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= dentry->d_inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->ino		= dentry->d_inode->i_ino; | 
					
						
							|  |  |  | 		__entry->datasync	= datasync; | 
					
						
							|  |  |  | 		__entry->parent		= dentry->d_parent->d_inode->i_ino; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu parent %lu datasync %d ", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2009-09-17 08:50:18 -04:00
										 |  |  | 		  (unsigned long) __entry->parent, __entry->datasync) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | TRACE_EVENT(ext4_sync_file_exit, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, int ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	int,	ret			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->ret		= ret; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu ret %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->ret) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | TRACE_EVENT(ext4_sync_fs, | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, int wait), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, wait), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__field(	int,	wait			) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | 		__entry->wait	= wait; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	TP_printk("dev %d,%d wait %d", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  __entry->wait) | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-16 19:30:40 -04:00
										 |  |  | TRACE_EVENT(ext4_alloc_da_blocks, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-09-16 19:30:40 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field( unsigned int,	data_blocks	) | 
					
						
							|  |  |  | 		__field( unsigned int,	meta_blocks	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-09-16 19:30:40 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->data_blocks = EXT4_I(inode)->i_reserved_data_blocks; | 
					
						
							|  |  |  | 		__entry->meta_blocks = EXT4_I(inode)->i_reserved_meta_blocks; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu data_blocks %u meta_blocks %u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2009-09-16 19:30:40 -04:00
										 |  |  | 		  __entry->data_blocks, __entry->meta_blocks) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | TRACE_EVENT(ext4_mballoc_alloc, | 
					
						
							|  |  |  | 	TP_PROTO(struct ext4_allocation_context *ac), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(ac), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u32, 	orig_logical		) | 
					
						
							|  |  |  | 		__field(	  int,	orig_start		) | 
					
						
							|  |  |  | 		__field(	__u32, 	orig_group		) | 
					
						
							|  |  |  | 		__field(	  int,	orig_len		) | 
					
						
							|  |  |  | 		__field(	__u32, 	goal_logical		) | 
					
						
							|  |  |  | 		__field(	  int,	goal_start		) | 
					
						
							|  |  |  | 		__field(	__u32, 	goal_group		) | 
					
						
							|  |  |  | 		__field(	  int,	goal_len		) | 
					
						
							|  |  |  | 		__field(	__u32, 	result_logical		) | 
					
						
							|  |  |  | 		__field(	  int,	result_start		) | 
					
						
							|  |  |  | 		__field(	__u32, 	result_group		) | 
					
						
							|  |  |  | 		__field(	  int,	result_len		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	__u16,	found			) | 
					
						
							|  |  |  | 		__field(	__u16,	groups			) | 
					
						
							|  |  |  | 		__field(	__u16,	buddy			) | 
					
						
							|  |  |  | 		__field(	__u16,	flags			) | 
					
						
							|  |  |  | 		__field(	__u16,	tail			) | 
					
						
							|  |  |  | 		__field(	__u8,	cr			) | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= ac->ac_inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		__entry->ino		= ac->ac_inode->i_ino; | 
					
						
							|  |  |  | 		__entry->orig_logical	= ac->ac_o_ex.fe_logical; | 
					
						
							|  |  |  | 		__entry->orig_start	= ac->ac_o_ex.fe_start; | 
					
						
							|  |  |  | 		__entry->orig_group	= ac->ac_o_ex.fe_group; | 
					
						
							|  |  |  | 		__entry->orig_len	= ac->ac_o_ex.fe_len; | 
					
						
							|  |  |  | 		__entry->goal_logical	= ac->ac_g_ex.fe_logical; | 
					
						
							|  |  |  | 		__entry->goal_start	= ac->ac_g_ex.fe_start; | 
					
						
							|  |  |  | 		__entry->goal_group	= ac->ac_g_ex.fe_group; | 
					
						
							|  |  |  | 		__entry->goal_len	= ac->ac_g_ex.fe_len; | 
					
						
							|  |  |  | 		__entry->result_logical	= ac->ac_f_ex.fe_logical; | 
					
						
							|  |  |  | 		__entry->result_start	= ac->ac_f_ex.fe_start; | 
					
						
							|  |  |  | 		__entry->result_group	= ac->ac_f_ex.fe_group; | 
					
						
							|  |  |  | 		__entry->result_len	= ac->ac_f_ex.fe_len; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->found		= ac->ac_found; | 
					
						
							|  |  |  | 		__entry->flags		= ac->ac_flags; | 
					
						
							|  |  |  | 		__entry->groups		= ac->ac_groups_scanned; | 
					
						
							|  |  |  | 		__entry->buddy		= ac->ac_buddy; | 
					
						
							|  |  |  | 		__entry->tail		= ac->ac_tail; | 
					
						
							|  |  |  | 		__entry->cr		= ac->ac_criteria; | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d inode %lu orig %u/%d/%u@%u goal %u/%d/%u@%u " | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  "result %u/%d/%u@%u blks %u grps %u cr %u flags %s " | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		  "tail %u broken %u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		  __entry->orig_group, __entry->orig_start, | 
					
						
							|  |  |  | 		  __entry->orig_len, __entry->orig_logical, | 
					
						
							|  |  |  | 		  __entry->goal_group, __entry->goal_start, | 
					
						
							|  |  |  | 		  __entry->goal_len, __entry->goal_logical, | 
					
						
							|  |  |  | 		  __entry->result_group, __entry->result_start, | 
					
						
							|  |  |  | 		  __entry->result_len, __entry->result_logical, | 
					
						
							|  |  |  | 		  __entry->found, __entry->groups, __entry->cr, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  show_mballoc_flags(__entry->flags), __entry->tail, | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		  __entry->buddy ? 1 << __entry->buddy : 0) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_mballoc_prealloc, | 
					
						
							|  |  |  | 	TP_PROTO(struct ext4_allocation_context *ac), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(ac), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u32, 	orig_logical		) | 
					
						
							|  |  |  | 		__field(	  int,	orig_start		) | 
					
						
							|  |  |  | 		__field(	__u32, 	orig_group		) | 
					
						
							|  |  |  | 		__field(	  int,	orig_len		) | 
					
						
							|  |  |  | 		__field(	__u32, 	result_logical		) | 
					
						
							|  |  |  | 		__field(	  int,	result_start		) | 
					
						
							|  |  |  | 		__field(	__u32, 	result_group		) | 
					
						
							|  |  |  | 		__field(	  int,	result_len		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= ac->ac_inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		__entry->ino		= ac->ac_inode->i_ino; | 
					
						
							|  |  |  | 		__entry->orig_logical	= ac->ac_o_ex.fe_logical; | 
					
						
							|  |  |  | 		__entry->orig_start	= ac->ac_o_ex.fe_start; | 
					
						
							|  |  |  | 		__entry->orig_group	= ac->ac_o_ex.fe_group; | 
					
						
							|  |  |  | 		__entry->orig_len	= ac->ac_o_ex.fe_len; | 
					
						
							|  |  |  | 		__entry->result_logical	= ac->ac_b_ex.fe_logical; | 
					
						
							|  |  |  | 		__entry->result_start	= ac->ac_b_ex.fe_start; | 
					
						
							|  |  |  | 		__entry->result_group	= ac->ac_b_ex.fe_group; | 
					
						
							|  |  |  | 		__entry->result_len	= ac->ac_b_ex.fe_len; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d inode %lu orig %u/%d/%u@%u result %u/%d/%u@%u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		  __entry->orig_group, __entry->orig_start, | 
					
						
							|  |  |  | 		  __entry->orig_len, __entry->orig_logical, | 
					
						
							|  |  |  | 		  __entry->result_group, __entry->result_start, | 
					
						
							|  |  |  | 		  __entry->result_len, __entry->result_logical) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | DECLARE_EVENT_CLASS(ext4__mballoc, | 
					
						
							| 
									
										
										
										
											2010-10-27 21:30:07 -04:00
										 |  |  | 	TP_PROTO(struct super_block *sb, | 
					
						
							|  |  |  | 		 struct inode *inode, | 
					
						
							|  |  |  | 		 ext4_group_t group, | 
					
						
							|  |  |  | 		 ext4_grpblk_t start, | 
					
						
							|  |  |  | 		 ext4_grpblk_t len), | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 21:30:07 -04:00
										 |  |  | 	TP_ARGS(sb, inode, group, start, len), | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	  int,	result_start		) | 
					
						
							|  |  |  | 		__field(	__u32, 	result_group		) | 
					
						
							|  |  |  | 		__field(	  int,	result_len		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev		= sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-10-27 21:30:07 -04:00
										 |  |  | 		__entry->ino		= inode ? inode->i_ino : 0; | 
					
						
							|  |  |  | 		__entry->result_start	= start; | 
					
						
							|  |  |  | 		__entry->result_group	= group; | 
					
						
							|  |  |  | 		__entry->result_len	= len; | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d inode %lu extent %u/%d/%d ", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 		  __entry->result_group, __entry->result_start, | 
					
						
							| 
									
										
										
										
											2010-10-27 21:30:07 -04:00
										 |  |  | 		  __entry->result_len) | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | DEFINE_EVENT(ext4__mballoc, ext4_mballoc_discard, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 21:30:07 -04:00
										 |  |  | 	TP_PROTO(struct super_block *sb, | 
					
						
							|  |  |  | 		 struct inode *inode, | 
					
						
							|  |  |  | 		 ext4_group_t group, | 
					
						
							|  |  |  | 		 ext4_grpblk_t start, | 
					
						
							|  |  |  | 		 ext4_grpblk_t len), | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 21:30:07 -04:00
										 |  |  | 	TP_ARGS(sb, inode, group, start, len) | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | ); | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 04:00:00 -04:00
										 |  |  | DEFINE_EVENT(ext4__mballoc, ext4_mballoc_free, | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 21:30:07 -04:00
										 |  |  | 	TP_PROTO(struct super_block *sb, | 
					
						
							|  |  |  | 		 struct inode *inode, | 
					
						
							|  |  |  | 		 ext4_group_t group, | 
					
						
							|  |  |  | 		 ext4_grpblk_t start, | 
					
						
							|  |  |  | 		 ext4_grpblk_t len), | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 21:30:07 -04:00
										 |  |  | 	TP_ARGS(sb, inode, group, start, len) | 
					
						
							| 
									
										
										
										
											2009-09-30 00:32:42 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 07:25:08 -05:00
										 |  |  | TRACE_EVENT(ext4_forget, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, int is_metadata, __u64 block), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, is_metadata, block), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2009-11-23 07:25:08 -05:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	block			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	int,	is_metadata		) | 
					
						
							|  |  |  | 		__field(	__u16,	mode			) | 
					
						
							| 
									
										
										
										
											2009-11-23 07:25:08 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2009-11-23 07:25:08 -05:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->block	= block; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->is_metadata = is_metadata; | 
					
						
							|  |  |  | 		__entry->mode	= inode->i_mode; | 
					
						
							| 
									
										
										
										
											2009-11-23 07:25:08 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu mode 0%o is_metadata %d block %llu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->mode, __entry->is_metadata, __entry->block) | 
					
						
							| 
									
										
										
										
											2009-11-23 07:25:08 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | TRACE_EVENT(ext4_da_update_reserve_space, | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, int used_blocks, int quota_claim), | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 	TP_ARGS(inode, used_blocks, quota_claim), | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	i_blocks		) | 
					
						
							|  |  |  | 		__field(	int,	used_blocks		) | 
					
						
							|  |  |  | 		__field(	int,	reserved_data_blocks	) | 
					
						
							|  |  |  | 		__field(	int,	reserved_meta_blocks	) | 
					
						
							|  |  |  | 		__field(	int,	allocated_meta_blocks	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	int,	quota_claim		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	__u16,	mode			) | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->i_blocks = inode->i_blocks; | 
					
						
							|  |  |  | 		__entry->used_blocks = used_blocks; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->reserved_data_blocks = | 
					
						
							|  |  |  | 				EXT4_I(inode)->i_reserved_data_blocks; | 
					
						
							|  |  |  | 		__entry->reserved_meta_blocks = | 
					
						
							|  |  |  | 				EXT4_I(inode)->i_reserved_meta_blocks; | 
					
						
							|  |  |  | 		__entry->allocated_meta_blocks = | 
					
						
							|  |  |  | 				EXT4_I(inode)->i_allocated_meta_blocks; | 
					
						
							|  |  |  | 		__entry->quota_claim = quota_claim; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->mode	= inode->i_mode; | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu used_blocks %d " | 
					
						
							|  |  |  | 		  "reserved_data_blocks %d reserved_meta_blocks %d " | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  "allocated_meta_blocks %d quota_claim %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->mode, __entry->i_blocks, | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		  __entry->used_blocks, __entry->reserved_data_blocks, | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  __entry->reserved_meta_blocks, __entry->allocated_meta_blocks, | 
					
						
							|  |  |  | 		  __entry->quota_claim) | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_da_reserve_space, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, int md_needed), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, md_needed), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	i_blocks		) | 
					
						
							|  |  |  | 		__field(	int,	md_needed		) | 
					
						
							|  |  |  | 		__field(	int,	reserved_data_blocks	) | 
					
						
							|  |  |  | 		__field(	int,	reserved_meta_blocks	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	__u16,  mode			) | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->i_blocks = inode->i_blocks; | 
					
						
							|  |  |  | 		__entry->md_needed = md_needed; | 
					
						
							|  |  |  | 		__entry->reserved_data_blocks = EXT4_I(inode)->i_reserved_data_blocks; | 
					
						
							|  |  |  | 		__entry->reserved_meta_blocks = EXT4_I(inode)->i_reserved_meta_blocks; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->mode	= inode->i_mode; | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu md_needed %d " | 
					
						
							|  |  |  | 		  "reserved_data_blocks %d reserved_meta_blocks %d", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->mode, __entry->i_blocks, | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		  __entry->md_needed, __entry->reserved_data_blocks, | 
					
						
							|  |  |  | 		  __entry->reserved_meta_blocks) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_da_release_space, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, int freed_blocks), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, freed_blocks), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	__u64,	i_blocks		) | 
					
						
							|  |  |  | 		__field(	int,	freed_blocks		) | 
					
						
							|  |  |  | 		__field(	int,	reserved_data_blocks	) | 
					
						
							|  |  |  | 		__field(	int,	reserved_meta_blocks	) | 
					
						
							|  |  |  | 		__field(	int,	allocated_meta_blocks	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	__u16,  mode			) | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->i_blocks = inode->i_blocks; | 
					
						
							|  |  |  | 		__entry->freed_blocks = freed_blocks; | 
					
						
							|  |  |  | 		__entry->reserved_data_blocks = EXT4_I(inode)->i_reserved_data_blocks; | 
					
						
							|  |  |  | 		__entry->reserved_meta_blocks = EXT4_I(inode)->i_reserved_meta_blocks; | 
					
						
							|  |  |  | 		__entry->allocated_meta_blocks = EXT4_I(inode)->i_allocated_meta_blocks; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->mode	= inode->i_mode; | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu freed_blocks %d " | 
					
						
							|  |  |  | 		  "reserved_data_blocks %d reserved_meta_blocks %d " | 
					
						
							|  |  |  | 		  "allocated_meta_blocks %d", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->mode, __entry->i_blocks, | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 		  __entry->freed_blocks, __entry->reserved_data_blocks, | 
					
						
							|  |  |  | 		  __entry->reserved_meta_blocks, __entry->allocated_meta_blocks) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-17 03:00:00 -04:00
										 |  |  | DECLARE_EVENT_CLASS(ext4__bitmap_load, | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, unsigned long group), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, group), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2010-05-17 03:00:00 -04:00
										 |  |  | 		__field(	__u32,	group			) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->dev	= sb->s_dev; | 
					
						
							| 
									
										
										
										
											2010-05-17 03:00:00 -04:00
										 |  |  | 		__entry->group	= group; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-27 22:08:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d group %u", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  __entry->group) | 
					
						
							| 
									
										
										
										
											2010-05-17 03:00:00 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__bitmap_load, ext4_mb_bitmap_load, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, unsigned long group), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, group) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__bitmap_load, ext4_mb_buddy_bitmap_load, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, unsigned long group), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, group) | 
					
						
							|  |  |  | ); | 
					
						
							| 
									
										
										
										
											2010-01-01 01:00:21 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | DEFINE_EVENT(ext4__bitmap_load, ext4_read_block_bitmap_load, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, unsigned long group), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, group) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__bitmap_load, ext4_load_inode_bitmap, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, unsigned long group), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, group) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_direct_IO_enter, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, offset, len, rw), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	loff_t,	pos			) | 
					
						
							|  |  |  | 		__field(	unsigned long,	len		) | 
					
						
							|  |  |  | 		__field(	int,	rw			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->pos	= offset; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 		__entry->rw	= rw; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu pos %lld len %lu rw %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->pos, __entry->len, __entry->rw) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_direct_IO_exit, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, | 
					
						
							|  |  |  | 		 int rw, int ret), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, offset, len, rw, ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	loff_t,	pos			) | 
					
						
							|  |  |  | 		__field(	unsigned long,	len		) | 
					
						
							|  |  |  | 		__field(	int,	rw			) | 
					
						
							|  |  |  | 		__field(	int,	ret			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->pos	= offset; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 		__entry->rw	= rw; | 
					
						
							|  |  |  | 		__entry->ret	= ret; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu pos %lld len %lu rw %d ret %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->pos, __entry->len, | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  __entry->rw, __entry->ret) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_fallocate_enter, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, offset, len, mode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	loff_t,	pos			) | 
					
						
							|  |  |  | 		__field(	loff_t,	len			) | 
					
						
							|  |  |  | 		__field(	int,	mode			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->pos	= offset; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 		__entry->mode	= mode; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu pos %lld len %lld mode %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->pos, | 
					
						
							|  |  |  | 		  __entry->len, __entry->mode) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_fallocate_exit, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, loff_t offset, | 
					
						
							|  |  |  | 		 unsigned int max_blocks, int ret), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, offset, max_blocks, ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	loff_t,	pos			) | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__field(	unsigned int,	blocks		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	int, 	ret			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->pos	= offset; | 
					
						
							|  |  |  | 		__entry->blocks	= max_blocks; | 
					
						
							|  |  |  | 		__entry->ret	= ret; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu pos %lld blocks %u ret %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->pos, __entry->blocks, | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  __entry->ret) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-16 20:21:26 -05:00
										 |  |  | TRACE_EVENT(ext4_punch_hole, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, loff_t offset, loff_t len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, offset, len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							|  |  |  | 		__field(	ino_t,	ino			) | 
					
						
							|  |  |  | 		__field(	loff_t,	offset			) | 
					
						
							|  |  |  | 		__field(	loff_t, len			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->offset	= offset; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu offset %lld len %lld", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->offset, __entry->len) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | TRACE_EVENT(ext4_unlink_enter, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *parent, struct dentry *dentry), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(parent, dentry), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	parent			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	loff_t,	size			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->dev		= dentry->d_inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->ino		= dentry->d_inode->i_ino; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->parent		= parent->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->size		= dentry->d_inode->i_size; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu size %lld parent %lu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, __entry->size, | 
					
						
							|  |  |  | 		  (unsigned long) __entry->parent) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_unlink_exit, | 
					
						
							|  |  |  | 	TP_PROTO(struct dentry *dentry, int ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(dentry, ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	int,	ret			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= dentry->d_inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= dentry->d_inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->ret		= ret; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu ret %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->ret) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DECLARE_EVENT_CLASS(ext4__truncate, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	dev_t,		dev		) | 
					
						
							|  |  |  | 		__field(	ino_t,		ino		) | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__field(	__u64,		blocks		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev    = inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino    = inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->blocks	= inode->i_blocks; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu blocks %llu", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->blocks) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__truncate, ext4_truncate_enter, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__truncate, ext4_truncate_exit, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-10-27 11:43:23 -04:00
										 |  |  | /* 'ux' is the uninitialized extent. */ | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_convert_to_initialized_enter, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, | 
					
						
							|  |  |  | 		 struct ext4_extent *ux), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, map, ux), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-10-27 11:43:23 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	m_lblk	) | 
					
						
							|  |  |  | 		__field(	unsigned,	m_len	) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	u_lblk	) | 
					
						
							|  |  |  | 		__field(	unsigned,	u_len	) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	u_pblk	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-10-27 11:43:23 -04:00
										 |  |  | 		__entry->m_lblk		= map->m_lblk; | 
					
						
							|  |  |  | 		__entry->m_len		= map->m_len; | 
					
						
							|  |  |  | 		__entry->u_lblk		= le32_to_cpu(ux->ee_block); | 
					
						
							|  |  |  | 		__entry->u_len		= ext4_ext_get_actual_len(ux); | 
					
						
							|  |  |  | 		__entry->u_pblk		= ext4_ext_pblock(ux); | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu m_lblk %u m_len %u u_lblk %u u_len %u " | 
					
						
							|  |  |  | 		  "u_pblk %llu", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->m_lblk, __entry->m_len, | 
					
						
							|  |  |  | 		  __entry->u_lblk, __entry->u_len, __entry->u_pblk) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * 'ux' is the uninitialized extent. | 
					
						
							|  |  |  |  * 'ix' is the initialized extent to which blocks are transferred. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_convert_to_initialized_fastpath, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, | 
					
						
							|  |  |  | 		 struct ext4_extent *ux, struct ext4_extent *ix), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, map, ux, ix), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-10-27 11:43:23 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	m_lblk	) | 
					
						
							|  |  |  | 		__field(	unsigned,	m_len	) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	u_lblk	) | 
					
						
							|  |  |  | 		__field(	unsigned,	u_len	) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	u_pblk	) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	i_lblk	) | 
					
						
							|  |  |  | 		__field(	unsigned,	i_len	) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	i_pblk	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-10-27 11:43:23 -04:00
										 |  |  | 		__entry->m_lblk		= map->m_lblk; | 
					
						
							|  |  |  | 		__entry->m_len		= map->m_len; | 
					
						
							|  |  |  | 		__entry->u_lblk		= le32_to_cpu(ux->ee_block); | 
					
						
							|  |  |  | 		__entry->u_len		= ext4_ext_get_actual_len(ux); | 
					
						
							|  |  |  | 		__entry->u_pblk		= ext4_ext_pblock(ux); | 
					
						
							|  |  |  | 		__entry->i_lblk		= le32_to_cpu(ix->ee_block); | 
					
						
							|  |  |  | 		__entry->i_len		= ext4_ext_get_actual_len(ix); | 
					
						
							|  |  |  | 		__entry->i_pblk		= ext4_ext_pblock(ix); | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu m_lblk %u m_len %u " | 
					
						
							|  |  |  | 		  "u_lblk %u u_len %u u_pblk %llu " | 
					
						
							|  |  |  | 		  "i_lblk %u i_len %u i_pblk %llu ", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  __entry->m_lblk, __entry->m_len, | 
					
						
							|  |  |  | 		  __entry->u_lblk, __entry->u_len, __entry->u_pblk, | 
					
						
							|  |  |  | 		  __entry->i_lblk, __entry->i_len, __entry->i_pblk) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | DECLARE_EVENT_CLASS(ext4__map_blocks_enter, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		 unsigned int len, unsigned int flags), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk, len, flags), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	dev_t,		dev		) | 
					
						
							|  |  |  | 		__field(	ino_t,		ino		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__field(	unsigned int,	len		) | 
					
						
							|  |  |  | 		__field(	unsigned int,	flags		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev    = inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino    = inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->lblk	= lblk; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 		__entry->flags	= flags; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu lblk %u len %u flags %s", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  __entry->lblk, __entry->len, show_map_flags(__entry->flags)) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__map_blocks_enter, ext4_ext_map_blocks_enter, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, | 
					
						
							|  |  |  | 		 unsigned len, unsigned flags), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk, len, flags) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, | 
					
						
							|  |  |  | 		 unsigned len, unsigned flags), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk, len, flags) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DECLARE_EVENT_CLASS(ext4__map_blocks_exit, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, unsigned flags, struct ext4_map_blocks *map, | 
					
						
							|  |  |  | 		 int ret), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_ARGS(inode, flags, map, ret), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino		) | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__field(	unsigned int,	flags		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	ext4_fsblk_t,	pblk		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		__field(	unsigned int,	len		) | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__field(	unsigned int,	mflags		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	int,		ret		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev    = inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino    = inode->i_ino; | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__entry->flags	= flags; | 
					
						
							| 
									
										
										
										
											2012-11-08 14:34:04 -05:00
										 |  |  | 		__entry->pblk	= map->m_pblk; | 
					
						
							|  |  |  | 		__entry->lblk	= map->m_lblk; | 
					
						
							|  |  |  | 		__entry->len	= map->m_len; | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__entry->mflags	= map->m_flags; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->ret	= ret; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu flags %s lblk %u pblk %llu len %u " | 
					
						
							|  |  |  | 		  "mflags %s ret %d", | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  show_map_flags(__entry->flags), __entry->lblk, __entry->pblk, | 
					
						
							|  |  |  | 		  __entry->len, show_mflags(__entry->mflags), __entry->ret) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__map_blocks_exit, ext4_ext_map_blocks_exit, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, unsigned flags, | 
					
						
							|  |  |  | 		 struct ext4_map_blocks *map, int ret), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_ARGS(inode, flags, map, ret) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, unsigned flags, | 
					
						
							|  |  |  | 		 struct ext4_map_blocks *map, int ret), | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_ARGS(inode, flags, map, ret) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_load_extent, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk, pblk), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__field(	ext4_fsblk_t,	pblk		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev    = inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino    = inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 		__entry->pblk	= pblk; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->lblk	= lblk; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu lblk %u pblk %llu", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2011-06-06 09:51:52 -04:00
										 |  |  | 		  __entry->lblk, __entry->pblk) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_load_inode, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,	ino		) | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-03-21 21:38:05 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %ld", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-10 22:37:50 -04:00
										 |  |  | TRACE_EVENT(ext4_journal_start, | 
					
						
							| 
									
										
										
										
											2013-06-04 12:37:50 -04:00
										 |  |  | 	TP_PROTO(struct super_block *sb, int blocks, int rsv_blocks, | 
					
						
							|  |  |  | 		 unsigned long IP), | 
					
						
							| 
									
										
										
										
											2011-07-10 22:37:50 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 12:37:50 -04:00
										 |  |  | 	TP_ARGS(sb, blocks, rsv_blocks, IP), | 
					
						
							| 
									
										
										
										
											2011-07-10 22:37:50 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							|  |  |  | 		__field(unsigned long,	ip			) | 
					
						
							| 
									
										
										
										
											2013-06-04 12:37:50 -04:00
										 |  |  | 		__field(	  int,	blocks			) | 
					
						
							|  |  |  | 		__field(	  int,	rsv_blocks		) | 
					
						
							| 
									
										
										
										
											2011-07-10 22:37:50 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							| 
									
										
										
										
											2013-06-04 12:37:50 -04:00
										 |  |  | 		__entry->dev		 = sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ip		 = IP; | 
					
						
							|  |  |  | 		__entry->blocks		 = blocks; | 
					
						
							|  |  |  | 		__entry->rsv_blocks	 = rsv_blocks; | 
					
						
							| 
									
										
										
										
											2011-07-10 22:37:50 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 12:37:50 -04:00
										 |  |  | 	TP_printk("dev %d,%d blocks, %d rsv_blocks, %d caller %pF", | 
					
						
							| 
									
										
										
										
											2011-07-10 22:37:50 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2013-06-04 12:37:50 -04:00
										 |  |  | 		  __entry->blocks, __entry->rsv_blocks, (void *)__entry->ip) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_journal_start_reserved, | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, int blocks, unsigned long IP), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, blocks, IP), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							|  |  |  | 		__field(unsigned long,	ip			) | 
					
						
							|  |  |  | 		__field(	  int,	blocks			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		 = sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ip		 = IP; | 
					
						
							|  |  |  | 		__entry->blocks		 = blocks; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d blocks, %d caller %pF", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  __entry->blocks, (void *)__entry->ip) | 
					
						
							| 
									
										
										
										
											2011-07-10 22:37:50 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-11 00:01:52 -04:00
										 |  |  | DECLARE_EVENT_CLASS(ext4__trim, | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, | 
					
						
							|  |  |  | 		 ext4_group_t group, | 
					
						
							|  |  |  | 		 ext4_grpblk_t start, | 
					
						
							|  |  |  | 		 ext4_grpblk_t len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, group, start, len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	int,	dev_major		) | 
					
						
							|  |  |  | 		__field(	int,	dev_minor		) | 
					
						
							|  |  |  | 		__field(	__u32, 	group			) | 
					
						
							|  |  |  | 		__field(	int,	start			) | 
					
						
							|  |  |  | 		__field(	int,	len			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev_major	= MAJOR(sb->s_dev); | 
					
						
							|  |  |  | 		__entry->dev_minor	= MINOR(sb->s_dev); | 
					
						
							|  |  |  | 		__entry->group		= group; | 
					
						
							|  |  |  | 		__entry->start		= start; | 
					
						
							|  |  |  | 		__entry->len		= len; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d group %u, start %d, len %d", | 
					
						
							|  |  |  | 		  __entry->dev_major, __entry->dev_minor, | 
					
						
							|  |  |  | 		  __entry->group, __entry->start, __entry->len) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__trim, ext4_trim_extent, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, | 
					
						
							|  |  |  | 		 ext4_group_t group, | 
					
						
							|  |  |  | 		 ext4_grpblk_t start, | 
					
						
							|  |  |  | 		 ext4_grpblk_t len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, group, start, len) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEFINE_EVENT(ext4__trim, ext4_trim_all_free, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, | 
					
						
							|  |  |  | 		 ext4_group_t group, | 
					
						
							|  |  |  | 		 ext4_grpblk_t start, | 
					
						
							|  |  |  | 		 ext4_grpblk_t len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, group, start, len) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | TRACE_EVENT(ext4_ext_handle_uninitialized_extents, | 
					
						
							| 
									
										
										
										
											2012-11-08 14:33:43 -05:00
										 |  |  | 	TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int flags, | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		 unsigned int allocated, ext4_fsblk_t newblock), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-08 14:33:43 -05:00
										 |  |  | 	TP_ARGS(inode, map, flags, allocated, newblock), | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino		) | 
					
						
							|  |  |  | 		__field(	int,		flags		) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	pblk		) | 
					
						
							|  |  |  | 		__field(	unsigned int,	len		) | 
					
						
							|  |  |  | 		__field(	unsigned int,	allocated	) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	newblk		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2012-11-08 14:33:43 -05:00
										 |  |  | 		__entry->flags		= flags; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->lblk		= map->m_lblk; | 
					
						
							|  |  |  | 		__entry->pblk		= map->m_pblk; | 
					
						
							|  |  |  | 		__entry->len		= map->m_len; | 
					
						
							|  |  |  | 		__entry->allocated	= allocated; | 
					
						
							|  |  |  | 		__entry->newblk		= newblock; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu m_lblk %u m_pblk %llu m_len %u flags %s " | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  "allocated %d newblock %llu", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->lblk, (unsigned long long) __entry->pblk, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  __entry->len, show_map_flags(__entry->flags), | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  (unsigned int) __entry->allocated, | 
					
						
							|  |  |  | 		  (unsigned long long) __entry->newblk) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_get_implied_cluster_alloc_exit, | 
					
						
							|  |  |  | 	TP_PROTO(struct super_block *sb, struct ext4_map_blocks *map, int ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(sb, map, ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	unsigned int,	flags	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk	) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	pblk	) | 
					
						
							|  |  |  | 		__field(	unsigned int,	len	) | 
					
						
							|  |  |  | 		__field(	int,		ret	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->flags	= map->m_flags; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->lblk	= map->m_lblk; | 
					
						
							|  |  |  | 		__entry->pblk	= map->m_pblk; | 
					
						
							|  |  |  | 		__entry->len	= map->m_len; | 
					
						
							|  |  |  | 		__entry->ret	= ret; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d m_lblk %u m_pblk %llu m_len %u m_flags %s ret %d", | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  __entry->lblk, (unsigned long long) __entry->pblk, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  __entry->len, show_mflags(__entry->flags), __entry->ret) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_put_in_cache, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, unsigned int len, | 
					
						
							|  |  |  | 		 ext4_fsblk_t start), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk, len, start), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk	) | 
					
						
							|  |  |  | 		__field(	unsigned int,	len	) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	start	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->lblk	= lblk; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 		__entry->start	= start; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu lblk %u len %u start %llu", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->lblk, | 
					
						
							|  |  |  | 		  __entry->len, | 
					
						
							|  |  |  | 		  (unsigned long long) __entry->start) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_in_cache, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, int ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk, ret), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk	) | 
					
						
							|  |  |  | 		__field(	int,		ret	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->lblk	= lblk; | 
					
						
							|  |  |  | 		__entry->ret	= ret; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu lblk %u ret %d", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->lblk, | 
					
						
							|  |  |  | 		  __entry->ret) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_find_delalloc_range, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t from, ext4_lblk_t to, | 
					
						
							|  |  |  | 		int reverse, int found, ext4_lblk_t found_blk), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, from, to, reverse, found, found_blk), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino		) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	from		) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	to		) | 
					
						
							|  |  |  | 		__field(	int,		reverse		) | 
					
						
							|  |  |  | 		__field(	int,		found		) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	found_blk	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->from		= from; | 
					
						
							|  |  |  | 		__entry->to		= to; | 
					
						
							|  |  |  | 		__entry->reverse	= reverse; | 
					
						
							|  |  |  | 		__entry->found		= found; | 
					
						
							|  |  |  | 		__entry->found_blk	= found_blk; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu from %u to %u reverse %d found %d " | 
					
						
							|  |  |  | 		  "(blk = %u)", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->from, (unsigned) __entry->to, | 
					
						
							|  |  |  | 		  __entry->reverse, __entry->found, | 
					
						
							|  |  |  | 		  (unsigned) __entry->found_blk) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_get_reserved_cluster_alloc, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, unsigned int len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk, len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk	) | 
					
						
							|  |  |  | 		__field(	unsigned int,	len	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->lblk	= lblk; | 
					
						
							|  |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu lblk %u len %u", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->lblk, | 
					
						
							|  |  |  | 		  __entry->len) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_show_extent, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk, | 
					
						
							|  |  |  | 		 unsigned short len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk, pblk, len), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_fsblk_t,	pblk	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	unsigned short,	len	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->pblk	= pblk; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->lblk	= lblk; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->lblk, | 
					
						
							|  |  |  | 		  (unsigned long long) __entry->pblk, | 
					
						
							|  |  |  | 		  (unsigned short) __entry->len) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_remove_blocks, | 
					
						
							|  |  |  | 	    TP_PROTO(struct inode *inode, struct ext4_extent *ex, | 
					
						
							|  |  |  | 		ext4_lblk_t from, ext4_fsblk_t to, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		long long partial_cluster), | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, ex, from, to, partial_cluster), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	from	) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	to	) | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		__field(	long long,	partial	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ext4_fsblk_t,	ee_pblk	) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	ee_lblk	) | 
					
						
							|  |  |  | 		__field(	unsigned short,	ee_len	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->from		= from; | 
					
						
							|  |  |  | 		__entry->to		= to; | 
					
						
							|  |  |  | 		__entry->partial	= partial_cluster; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ee_pblk	= ext4_ext_pblock(ex); | 
					
						
							| 
									
										
										
										
											2013-04-09 23:59:55 -04:00
										 |  |  | 		__entry->ee_lblk	= le32_to_cpu(ex->ee_block); | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ee_len		= ext4_ext_get_actual_len(ex); | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu extent [%u(%llu), %u]" | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		  "from %u to %u partial_cluster %lld", | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->ee_lblk, | 
					
						
							|  |  |  | 		  (unsigned long long) __entry->ee_pblk, | 
					
						
							|  |  |  | 		  (unsigned short) __entry->ee_len, | 
					
						
							|  |  |  | 		  (unsigned) __entry->from, | 
					
						
							|  |  |  | 		  (unsigned) __entry->to, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		  (long long) __entry->partial) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_rm_leaf, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t start, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		 struct ext4_extent *ex, | 
					
						
							|  |  |  | 		 long long partial_cluster), | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, start, ex, partial_cluster), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		__field(	long long,	partial	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	start	) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	ee_lblk	) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	ee_pblk	) | 
					
						
							|  |  |  | 		__field(	short,		ee_len	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->partial	= partial_cluster; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->start		= start; | 
					
						
							|  |  |  | 		__entry->ee_lblk	= le32_to_cpu(ex->ee_block); | 
					
						
							|  |  |  | 		__entry->ee_pblk	= ext4_ext_pblock(ex); | 
					
						
							|  |  |  | 		__entry->ee_len		= ext4_ext_get_actual_len(ex); | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu start_lblk %u last_extent [%u(%llu), %u]" | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		  "partial_cluster %lld", | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->start, | 
					
						
							|  |  |  | 		  (unsigned) __entry->ee_lblk, | 
					
						
							|  |  |  | 		  (unsigned long long) __entry->ee_pblk, | 
					
						
							|  |  |  | 		  (unsigned short) __entry->ee_len, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		  (long long) __entry->partial) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_rm_idx, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_fsblk_t pblk), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, pblk), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_fsblk_t,	pblk	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->pblk	= pblk; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu index_pblk %llu", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned long long) __entry->pblk) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_remove_space, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t start, | 
					
						
							|  |  |  | 		 ext4_lblk_t end, int depth), | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 	TP_ARGS(inode, start, end, depth), | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev	) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	start	) | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	end	) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	int,		depth	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->start	= start; | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 		__entry->end	= end; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->depth	= depth; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu since %u end %u depth %d", | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->start, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 		  (unsigned) __entry->end, | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  __entry->depth) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_ext_remove_space_done, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		 int depth, long long partial, __le16 eh_entries), | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 	TP_ARGS(inode, start, end, depth, partial, eh_entries), | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__field(	ino_t,		ino		) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	start		) | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 		__field(	ext4_lblk_t,	end		) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	int,		depth		) | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		__field(	long long,	partial		) | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__field(	unsigned short,	eh_entries	) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= inode->i_sb->s_dev; | 
					
						
							| 
									
										
										
										
											2012-08-17 09:50:17 -04:00
										 |  |  | 		__entry->ino		= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->start		= start; | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 		__entry->end		= end; | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		__entry->depth		= depth; | 
					
						
							|  |  |  | 		__entry->partial	= partial; | 
					
						
							| 
									
										
										
										
											2013-04-09 23:59:55 -04:00
										 |  |  | 		__entry->eh_entries	= le16_to_cpu(eh_entries); | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu since %u end %u depth %d partial %lld " | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  "remaining_entries %u", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							|  |  |  | 		  (unsigned) __entry->start, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:32:35 -04:00
										 |  |  | 		  (unsigned) __entry->end, | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  __entry->depth, | 
					
						
							| 
									
										
										
										
											2013-05-27 23:33:35 -04:00
										 |  |  | 		  (long long) __entry->partial, | 
					
						
							| 
									
										
										
										
											2011-09-09 19:18:51 -04:00
										 |  |  | 		  (unsigned short) __entry->eh_entries) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | TRACE_EVENT(ext4_es_insert_extent, | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 	TP_PROTO(struct inode *inode, struct extent_status *es), | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 	TP_ARGS(inode, es), | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__field(	dev_t,		dev		) | 
					
						
							|  |  |  | 		__field(	ino_t,		ino		) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	len		) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	pblk		) | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__field(	char, status	) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__entry->lblk	= es->es_lblk; | 
					
						
							|  |  |  | 		__entry->len	= es->es_len; | 
					
						
							|  |  |  | 		__entry->pblk	= ext4_es_pblock(es); | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__entry->status	= ext4_es_status(es) >> 60; | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu es [%u/%u) mapped %llu status %s", | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		  __entry->lblk, __entry->len, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  __entry->pblk, show_extent_status(__entry->status)) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_es_remove_extent, | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_lblk_t len), | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 	TP_ARGS(inode, lblk, len), | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							|  |  |  | 		__field(	ino_t,	ino			) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__field(	loff_t,	lblk			) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 		__field(	loff_t,	len			) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__entry->lblk	= lblk; | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 		__entry->len	= len; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu es [%lld/%lld)", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		  __entry->lblk, __entry->len) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-03 02:15:52 -04:00
										 |  |  | TRACE_EVENT(ext4_es_find_delayed_extent_range_enter, | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk), | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 	TP_ARGS(inode, lblk), | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							|  |  |  | 		__field(	ino_t,		ino		) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__entry->lblk	= lblk; | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu lblk %u", | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		  (unsigned long) __entry->ino, __entry->lblk) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-03 02:15:52 -04:00
										 |  |  | TRACE_EVENT(ext4_es_find_delayed_extent_range_exit, | 
					
						
							| 
									
										
										
										
											2013-02-18 00:27:26 -05:00
										 |  |  | 	TP_PROTO(struct inode *inode, struct extent_status *es), | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-18 00:27:26 -05:00
										 |  |  | 	TP_ARGS(inode, es), | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							|  |  |  | 		__field(	ino_t,		ino		) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 		__field(	ext4_lblk_t,	len		) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__field(	ext4_fsblk_t,	pblk		) | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__field(	char, status	) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__entry->lblk	= es->es_lblk; | 
					
						
							|  |  |  | 		__entry->len	= es->es_len; | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		__entry->pblk	= ext4_es_pblock(es); | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__entry->status	= ext4_es_status(es) >> 60; | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu es [%u/%u) mapped %llu status %s", | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, | 
					
						
							| 
									
										
										
										
											2013-02-18 00:26:51 -05:00
										 |  |  | 		  __entry->lblk, __entry->len, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  __entry->pblk, show_extent_status(__entry->status)) | 
					
						
							| 
									
										
										
										
											2012-11-08 21:57:33 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-18 00:29:59 -05:00
										 |  |  | TRACE_EVENT(ext4_es_lookup_extent_enter, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, ext4_lblk_t lblk), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, lblk), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							|  |  |  | 		__field(	ino_t,		ino		) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->lblk	= lblk; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_printk("dev %d,%d ino %lu lblk %u", | 
					
						
							|  |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, __entry->lblk) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_es_lookup_extent_exit, | 
					
						
							|  |  |  | 	TP_PROTO(struct inode *inode, struct extent_status *es, | 
					
						
							|  |  |  | 		 int found), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_ARGS(inode, es, found), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,		dev		) | 
					
						
							|  |  |  | 		__field(	ino_t,		ino		) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	lblk		) | 
					
						
							|  |  |  | 		__field(	ext4_lblk_t,	len		) | 
					
						
							|  |  |  | 		__field(	ext4_fsblk_t,	pblk		) | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__field(	char,		status		) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:29:59 -05:00
										 |  |  | 		__field(	int,		found		) | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev	= inode->i_sb->s_dev; | 
					
						
							|  |  |  | 		__entry->ino	= inode->i_ino; | 
					
						
							|  |  |  | 		__entry->lblk	= es->es_lblk; | 
					
						
							|  |  |  | 		__entry->len	= es->es_len; | 
					
						
							|  |  |  | 		__entry->pblk	= ext4_es_pblock(es); | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		__entry->status	= ext4_es_status(es) >> 60; | 
					
						
							| 
									
										
										
										
											2013-02-18 00:29:59 -05:00
										 |  |  | 		__entry->found	= found; | 
					
						
							|  |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 	TP_printk("dev %d,%d ino %lu found %d [%u/%u) %llu %s", | 
					
						
							| 
									
										
										
										
											2013-02-18 00:29:59 -05:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							|  |  |  | 		  (unsigned long) __entry->ino, __entry->found, | 
					
						
							|  |  |  | 		  __entry->lblk, __entry->len, | 
					
						
							|  |  |  | 		  __entry->found ? __entry->pblk : 0, | 
					
						
							| 
									
										
										
										
											2013-07-01 08:12:40 -04:00
										 |  |  | 		  show_extent_status(__entry->found ? __entry->status : 0)) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:29:59 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | TRACE_EVENT(ext4_es_shrink_enter, | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 	TP_PROTO(struct super_block *sb, int nr_to_scan, int cache_cnt), | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 	TP_ARGS(sb, nr_to_scan, cache_cnt), | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							|  |  |  | 		__field(	int,	nr_to_scan		) | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 		__field(	int,	cache_cnt		) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= sb->s_dev; | 
					
						
							|  |  |  | 		__entry->nr_to_scan	= nr_to_scan; | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 		__entry->cache_cnt	= cache_cnt; | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 	TP_printk("dev %d,%d nr_to_scan %d cache_cnt %d", | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 		  __entry->nr_to_scan, __entry->cache_cnt) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TRACE_EVENT(ext4_es_shrink_exit, | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 	TP_PROTO(struct super_block *sb, int shrunk_nr, int cache_cnt), | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 	TP_ARGS(sb, shrunk_nr, cache_cnt), | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	TP_STRUCT__entry( | 
					
						
							|  |  |  | 		__field(	dev_t,	dev			) | 
					
						
							|  |  |  | 		__field(	int,	shrunk_nr		) | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 		__field(	int,	cache_cnt		) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	TP_fast_assign( | 
					
						
							|  |  |  | 		__entry->dev		= sb->s_dev; | 
					
						
							|  |  |  | 		__entry->shrunk_nr	= shrunk_nr; | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 		__entry->cache_cnt	= cache_cnt; | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 	), | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 	TP_printk("dev %d,%d shrunk_nr %d cache_cnt %d", | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | 		  MAJOR(__entry->dev), MINOR(__entry->dev), | 
					
						
							| 
									
										
										
										
											2013-02-28 23:58:56 -05:00
										 |  |  | 		  __entry->shrunk_nr, __entry->cache_cnt) | 
					
						
							| 
									
										
										
										
											2013-02-18 00:32:55 -05:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-17 11:48:11 -04:00
										 |  |  | #endif /* _TRACE_EXT4_H */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* This part must be outside protection */ | 
					
						
							|  |  |  | #include <trace/define_trace.h>
 |