Loading fs/nfsd/trace.h +24 −0 Original line number Diff line number Diff line Loading @@ -2498,6 +2498,30 @@ TRACE_EVENT(nfsd_vfs_link, ) ); TRACE_EVENT(nfsd_vfs_unlink, TP_PROTO( const struct svc_rqst *rqstp, const struct svc_fh *fhp, const char *name, unsigned int len ), TP_ARGS(rqstp, fhp, name, len), TP_STRUCT__entry( NFSD_TRACE_PROC_CALL_FIELDS(rqstp) __field(u32, fh_hash) __string_len(name, name, len) ), TP_fast_assign( NFSD_TRACE_PROC_CALL_ASSIGNMENTS(rqstp); __entry->fh_hash = knfsd_fh_hash(&fhp->fh_handle); __assign_str(name); ), TP_printk("xid=0x%08x fh_hash=0x%08x name=%s", __entry->xid, __entry->fh_hash, __get_str(name) ) ); #endif /* _NFSD_TRACE_H */ #undef TRACE_INCLUDE_PATH Loading fs/nfsd/vfs.c +2 −0 Original line number Diff line number Diff line Loading @@ -1998,6 +1998,8 @@ nfsd_unlink(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, __be32 err; int host_err; trace_nfsd_vfs_unlink(rqstp, fhp, fname, flen); err = nfserr_acces; if (!flen || isdotent(fname, flen)) goto out; Loading Loading
fs/nfsd/trace.h +24 −0 Original line number Diff line number Diff line Loading @@ -2498,6 +2498,30 @@ TRACE_EVENT(nfsd_vfs_link, ) ); TRACE_EVENT(nfsd_vfs_unlink, TP_PROTO( const struct svc_rqst *rqstp, const struct svc_fh *fhp, const char *name, unsigned int len ), TP_ARGS(rqstp, fhp, name, len), TP_STRUCT__entry( NFSD_TRACE_PROC_CALL_FIELDS(rqstp) __field(u32, fh_hash) __string_len(name, name, len) ), TP_fast_assign( NFSD_TRACE_PROC_CALL_ASSIGNMENTS(rqstp); __entry->fh_hash = knfsd_fh_hash(&fhp->fh_handle); __assign_str(name); ), TP_printk("xid=0x%08x fh_hash=0x%08x name=%s", __entry->xid, __entry->fh_hash, __get_str(name) ) ); #endif /* _NFSD_TRACE_H */ #undef TRACE_INCLUDE_PATH Loading
fs/nfsd/vfs.c +2 −0 Original line number Diff line number Diff line Loading @@ -1998,6 +1998,8 @@ nfsd_unlink(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, __be32 err; int host_err; trace_nfsd_vfs_unlink(rqstp, fhp, fname, flen); err = nfserr_acces; if (!flen || isdotent(fname, flen)) goto out; Loading