[Ocfs2-devel] [PATCH 2/2] ocfs2: Add trace point for ocfs2_set_inode_attr()

Joel Becker jlbec at evilplan.org
Mon Mar 11 02:34:26 PDT 2013


On Mon, Mar 11, 2013 at 05:27:05PM +0800, Jeff Liu wrote:
> Hi Joel,
> On 03/11/2013 05:10 PM, Joel Becker wrote:
> > Hey Jeff,
> > 	What made you want this trace point?  Did you have a particular
> > scenario that required it?
> 
> > Or were you just thinking "it would be nice
> > to have"?
> Yes, and I observed that XFS has this trace point.  Maybe it's better to
> add it when we have a good use case. :)

That's how I'd approach it.  Thanks.

Joel

> 
> Thanks,
> -Jeff
> > 
> > Joel
> > 
> > On Mon, Mar 11, 2013 at 01:29:22PM +0800, Jeff Liu wrote:
> >> Add trace point for ocfs2_set_inode_attr().
> >>
> >> # cat /debug/tracing/available_events |grep ocfs2_set_inode_attr
> >> ocfs2:ocfs2_set_inode_attr
> >>
> >> Signed-off-by: Jie Liu <jeff.liu at oracle.com>
> >> Cc: Joel Becker <jlbec at evilplan.org>
> >> Cc: Mark Fasheh <mfasheh at suse.com>
> >> ---
> >>  fs/ocfs2/ioctl.c       |    3 +++
> >>  fs/ocfs2/ocfs2_trace.h |    6 ++++++
> >>  2 files changed, 9 insertions(+)
> >>
> >> diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c
> >> index c739c24..764bf5c 100644
> >> --- a/fs/ocfs2/ioctl.c
> >> +++ b/fs/ocfs2/ioctl.c
> >> @@ -27,6 +27,7 @@
> >>  #include "buffer_head_io.h"
> >>  #include "suballoc.h"
> >>  #include "move_extents.h"
> >> +#include "ocfs2_trace.h"
> >>  
> >>  #define o2info_from_user(a, b)	\
> >>  		copy_from_user(&(a), (b), sizeof(a))
> >> @@ -86,6 +87,8 @@ static int ocfs2_set_inode_attr(struct inode *inode, unsigned flags,
> >>  	unsigned oldflags;
> >>  	int status;
> >>  
> >> +	trace_ocfs2_set_inode_attr(OCFS2_I(inode)->ip_blkno, flags);
> >> +
> >>  	mutex_lock(&inode->i_mutex);
> >>  
> >>  	status = ocfs2_inode_lock(inode, &bh, 1);
> >> diff --git a/fs/ocfs2/ocfs2_trace.h b/fs/ocfs2/ocfs2_trace.h
> >> index 3b481f4..bcaca11 100644
> >> --- a/fs/ocfs2/ocfs2_trace.h
> >> +++ b/fs/ocfs2/ocfs2_trace.h
> >> @@ -2755,6 +2755,12 @@ DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_remove_metadata_tree);
> >>  DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_remove_block_from_cache);
> >>  
> >>  /* End of trace events for fs/ocfs2/uptodate.c. */
> >> +
> >> +/* Trace events for fs/ocfs2/ioctl.c. */
> >> +
> >> +DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_set_inode_attr);
> >> +
> >> +/* End of trace events for fs/ocfs2/ioctl.c. */
> >>  #endif /* _TRACE_OCFS2_H */
> >>  
> >>  /* This part must be outside protection */
> >> -- 
> >> 1.7.9.5
> > 
> 

-- 

"The opposite of a correct statement is a false statement. The
 opposite of a profound truth may well be another profound truth."
         - Niels Bohr 

			http://www.jlbec.org/
			jlbec at evilplan.org



More information about the Ocfs2-devel mailing list