@ -189,6 +189,182 @@ DEFINE_EVENT(f2fs__inode_exit, f2fs_unlink_exit,
TP_ARGS ( inode , ret )
) ;
DEFINE_EVENT ( f2fs__inode , f2fs_truncate ,
TP_PROTO ( struct inode * inode ) ,
TP_ARGS ( inode )
) ;
TRACE_EVENT ( f2fs_truncate_data_blocks_range ,
TP_PROTO ( struct inode * inode , nid_t nid , unsigned int ofs , int free ) ,
TP_ARGS ( inode , nid , ofs , free ) ,
TP_STRUCT__entry (
__field ( dev_t , dev )
__field ( ino_t , ino )
__field ( nid_t , nid )
__field ( unsigned int , ofs )
__field ( int , free )
) ,
TP_fast_assign (
__entry - > dev = inode - > i_sb - > s_dev ;
__entry - > ino = inode - > i_ino ;
__entry - > nid = nid ;
__entry - > ofs = ofs ;
__entry - > free = free ;
) ,
TP_printk ( " dev = (%d,%d), ino = %lu, nid = %u, offset = %u, freed = %d " ,
show_dev_ino ( __entry ) ,
( unsigned int ) __entry - > nid ,
__entry - > ofs ,
__entry - > free )
) ;
DECLARE_EVENT_CLASS ( f2fs__truncate_op ,
TP_PROTO ( struct inode * inode , u64 from ) ,
TP_ARGS ( inode , from ) ,
TP_STRUCT__entry (
__field ( dev_t , dev )
__field ( ino_t , ino )
__field ( loff_t , size )
__field ( blkcnt_t , blocks )
__field ( u64 , from )
) ,
TP_fast_assign (
__entry - > dev = inode - > i_sb - > s_dev ;
__entry - > ino = inode - > i_ino ;
__entry - > size = inode - > i_size ;
__entry - > blocks = inode - > i_blocks ;
__entry - > from = from ;
) ,
TP_printk ( " dev = (%d,%d), ino = %lu, i_size = %lld, i_blocks = %llu, "
" start file offset = %llu " ,
show_dev_ino ( __entry ) ,
__entry - > size ,
( unsigned long long ) __entry - > blocks ,
( unsigned long long ) __entry - > from )
) ;
DEFINE_EVENT ( f2fs__truncate_op , f2fs_truncate_blocks_enter ,
TP_PROTO ( struct inode * inode , u64 from ) ,
TP_ARGS ( inode , from )
) ;
DEFINE_EVENT ( f2fs__inode_exit , f2fs_truncate_blocks_exit ,
TP_PROTO ( struct inode * inode , int ret ) ,
TP_ARGS ( inode , ret )
) ;
DEFINE_EVENT ( f2fs__truncate_op , f2fs_truncate_inode_blocks_enter ,
TP_PROTO ( struct inode * inode , u64 from ) ,
TP_ARGS ( inode , from )
) ;
DEFINE_EVENT ( f2fs__inode_exit , f2fs_truncate_inode_blocks_exit ,
TP_PROTO ( struct inode * inode , int ret ) ,
TP_ARGS ( inode , ret )
) ;
DECLARE_EVENT_CLASS ( f2fs__truncate_node ,
TP_PROTO ( struct inode * inode , nid_t nid , block_t blk_addr ) ,
TP_ARGS ( inode , nid , blk_addr ) ,
TP_STRUCT__entry (
__field ( dev_t , dev )
__field ( ino_t , ino )
__field ( nid_t , nid )
__field ( block_t , blk_addr )
) ,
TP_fast_assign (
__entry - > dev = inode - > i_sb - > s_dev ;
__entry - > ino = inode - > i_ino ;
__entry - > nid = nid ;
__entry - > blk_addr = blk_addr ;
) ,
TP_printk ( " dev = (%d,%d), ino = %lu, nid = %u, block_address = 0x%llx " ,
show_dev_ino ( __entry ) ,
( unsigned int ) __entry - > nid ,
( unsigned long long ) __entry - > blk_addr )
) ;
DEFINE_EVENT ( f2fs__truncate_node , f2fs_truncate_nodes_enter ,
TP_PROTO ( struct inode * inode , nid_t nid , block_t blk_addr ) ,
TP_ARGS ( inode , nid , blk_addr )
) ;
DEFINE_EVENT ( f2fs__inode_exit , f2fs_truncate_nodes_exit ,
TP_PROTO ( struct inode * inode , int ret ) ,
TP_ARGS ( inode , ret )
) ;
DEFINE_EVENT ( f2fs__truncate_node , f2fs_truncate_node ,
TP_PROTO ( struct inode * inode , nid_t nid , block_t blk_addr ) ,
TP_ARGS ( inode , nid , blk_addr )
) ;
TRACE_EVENT ( f2fs_truncate_partial_nodes ,
TP_PROTO ( struct inode * inode , nid_t nid [ ] , int depth , int err ) ,
TP_ARGS ( inode , nid , depth , err ) ,
TP_STRUCT__entry (
__field ( dev_t , dev )
__field ( ino_t , ino )
__field ( nid_t , nid [ 3 ] )
__field ( int , depth )
__field ( int , err )
) ,
TP_fast_assign (
__entry - > dev = inode - > i_sb - > s_dev ;
__entry - > ino = inode - > i_ino ;
__entry - > nid [ 0 ] = nid [ 0 ] ;
__entry - > nid [ 1 ] = nid [ 1 ] ;
__entry - > nid [ 2 ] = nid [ 2 ] ;
__entry - > depth = depth ;
__entry - > err = err ;
) ,
TP_printk ( " dev = (%d,%d), ino = %lu, "
" nid[0] = %u, nid[1] = %u, nid[2] = %u, depth = %d, err = %d " ,
show_dev_ino ( __entry ) ,
( unsigned int ) __entry - > nid [ 0 ] ,
( unsigned int ) __entry - > nid [ 1 ] ,
( unsigned int ) __entry - > nid [ 2 ] ,
__entry - > depth ,
__entry - > err )
) ;
# endif /* _TRACE_F2FS_H */
/* This part must be outside protection */