Re: [PATCH 1/6] xfs: fix symbolic enum printing in ftrace output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/28/18 5:28 PM, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> 
> ftrace's __print_symbolic() has a (very poorly documented) requirement
> that any enum values used in the symbol to string translation table be
> wrapped in a TRACE_DEFINE_ENUM so that the enum value can be encoded in
> the ftrace ring buffer.  Fix this unsatisfied requirement.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>

> ---
>  fs/xfs/xfs_trace.h |   16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> 
> diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
> index cabe5c8010b0..dcde4e9907f7 100644
> --- a/fs/xfs/xfs_trace.h
> +++ b/fs/xfs/xfs_trace.h
> @@ -640,6 +640,16 @@ DEFINE_INODE_EVENT(xfs_inode_set_cowblocks_tag);
>  DEFINE_INODE_EVENT(xfs_inode_clear_cowblocks_tag);
>  DEFINE_INODE_EVENT(xfs_inode_free_cowblocks_invalid);
>  
> +/*
> + * ftrace's __print_symbolic requires that all enum values be wrapped in the
> + * TRACE_DEFINE_ENUM macro so that the enum value can be encoded in the ftrace
> + * ring buffer.  Somehow this was only worth mentioning in the ftrace sample
> + * code.
> + */
> +TRACE_DEFINE_ENUM(PE_SIZE_PTE);
> +TRACE_DEFINE_ENUM(PE_SIZE_PMD);
> +TRACE_DEFINE_ENUM(PE_SIZE_PUD);
> +
>  TRACE_EVENT(xfs_filemap_fault,
>  	TP_PROTO(struct xfs_inode *ip, enum page_entry_size pe_size,
>  		 bool write_fault),
> @@ -1208,6 +1218,12 @@ DEFINE_EVENT(xfs_readpage_class, name,	\
>  DEFINE_READPAGE_EVENT(xfs_vm_readpage);
>  DEFINE_READPAGE_EVENT(xfs_vm_readpages);
>  
> +TRACE_DEFINE_ENUM(XFS_IO_HOLE);
> +TRACE_DEFINE_ENUM(XFS_IO_DELALLOC);
> +TRACE_DEFINE_ENUM(XFS_IO_UNWRITTEN);
> +TRACE_DEFINE_ENUM(XFS_IO_OVERWRITE);
> +TRACE_DEFINE_ENUM(XFS_IO_COW);
> +
>  DECLARE_EVENT_CLASS(xfs_imap_class,
>  	TP_PROTO(struct xfs_inode *ip, xfs_off_t offset, ssize_t count,
>  		 int type, struct xfs_bmbt_irec *irec),
> 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux