Loading fs/nfsd/nfs3proc.c +3 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include "xdr3.h" #include "vfs.h" #include "filecache.h" #include "trace.h" #define NFSDDBG_FACILITY NFSDDBG_PROC Loading Loading @@ -266,6 +267,8 @@ nfsd3_create_file(struct svc_rqst *rqstp, struct svc_fh *fhp, __be32 status; int host_err; trace_nfsd_vfs_create(rqstp, fhp, S_IFREG, argp->name, argp->len); if (isdotent(argp->name, argp->len)) return nfserr_exist; if (!(iap->ia_valid & ATTR_MODE)) Loading fs/nfsd/trace.h +27 −0 Original line number Diff line number Diff line Loading @@ -2417,6 +2417,33 @@ TRACE_EVENT(nfsd_vfs_lookup, ) ); TRACE_EVENT(nfsd_vfs_create, TP_PROTO( const struct svc_rqst *rqstp, const struct svc_fh *fhp, umode_t type, const char *name, unsigned int len ), TP_ARGS(rqstp, fhp, type, name, len), TP_STRUCT__entry( NFSD_TRACE_PROC_CALL_FIELDS(rqstp) __field(u32, fh_hash) __field(umode_t, type) __string_len(name, name, len) ), TP_fast_assign( NFSD_TRACE_PROC_CALL_ASSIGNMENTS(rqstp); __entry->fh_hash = knfsd_fh_hash(&fhp->fh_handle); __entry->type = type; __assign_str(name); ), TP_printk("xid=0x%08x fh_hash=0x%08x type=%s name=%s", __entry->xid, __entry->fh_hash, show_fs_file_type(__entry->type), __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 @@ -1549,6 +1549,8 @@ nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp, __be32 err; int host_err; trace_nfsd_vfs_create(rqstp, fhp, type, fname, flen); if (isdotent(fname, flen)) return nfserr_exist; Loading Loading
fs/nfsd/nfs3proc.c +3 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include "xdr3.h" #include "vfs.h" #include "filecache.h" #include "trace.h" #define NFSDDBG_FACILITY NFSDDBG_PROC Loading Loading @@ -266,6 +267,8 @@ nfsd3_create_file(struct svc_rqst *rqstp, struct svc_fh *fhp, __be32 status; int host_err; trace_nfsd_vfs_create(rqstp, fhp, S_IFREG, argp->name, argp->len); if (isdotent(argp->name, argp->len)) return nfserr_exist; if (!(iap->ia_valid & ATTR_MODE)) Loading
fs/nfsd/trace.h +27 −0 Original line number Diff line number Diff line Loading @@ -2417,6 +2417,33 @@ TRACE_EVENT(nfsd_vfs_lookup, ) ); TRACE_EVENT(nfsd_vfs_create, TP_PROTO( const struct svc_rqst *rqstp, const struct svc_fh *fhp, umode_t type, const char *name, unsigned int len ), TP_ARGS(rqstp, fhp, type, name, len), TP_STRUCT__entry( NFSD_TRACE_PROC_CALL_FIELDS(rqstp) __field(u32, fh_hash) __field(umode_t, type) __string_len(name, name, len) ), TP_fast_assign( NFSD_TRACE_PROC_CALL_ASSIGNMENTS(rqstp); __entry->fh_hash = knfsd_fh_hash(&fhp->fh_handle); __entry->type = type; __assign_str(name); ), TP_printk("xid=0x%08x fh_hash=0x%08x type=%s name=%s", __entry->xid, __entry->fh_hash, show_fs_file_type(__entry->type), __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 @@ -1549,6 +1549,8 @@ nfsd_create(struct svc_rqst *rqstp, struct svc_fh *fhp, __be32 err; int host_err; trace_nfsd_vfs_create(rqstp, fhp, type, fname, flen); if (isdotent(fname, flen)) return nfserr_exist; Loading