]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
nfsd: Fix a perf warning
authorTrond Myklebust <trondmy@gmail.com>
Tue, 14 Jan 2020 17:00:21 +0000 (12:00 -0500)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 9 Nov 2020 13:47:30 +0000 (14:47 +0100)
BugLink: https://bugs.launchpad.net/bugs/1900624
[ Upstream commit a9ceb060b3cf37987b6162223575eaf4f4e0fc36 ]

perf does not know how to deal with a __builtin_bswap32() call, and
complains. All other functions just store the xid etc in host endian
form, so let's do that in the tracepoint for nfsd_file_acquire too.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Ian May <ian.may@canonical.com>
fs/nfsd/trace.h

index ffc78a0e28b24e59c2976400e4309f861dddfc8f..b073bdc2e6e898e4e77c093ae1b9aeb255281c02 100644 (file)
@@ -228,7 +228,7 @@ TRACE_EVENT(nfsd_file_acquire,
        TP_ARGS(rqstp, hash, inode, may_flags, nf, status),
 
        TP_STRUCT__entry(
-               __field(__be32, xid)
+               __field(u32, xid)
                __field(unsigned int, hash)
                __field(void *, inode)
                __field(unsigned int, may_flags)
@@ -236,11 +236,11 @@ TRACE_EVENT(nfsd_file_acquire,
                __field(unsigned long, nf_flags)
                __field(unsigned char, nf_may)
                __field(struct file *, nf_file)
-               __field(__be32, status)
+               __field(u32, status)
        ),
 
        TP_fast_assign(
-               __entry->xid = rqstp->rq_xid;
+               __entry->xid = be32_to_cpu(rqstp->rq_xid);
                __entry->hash = hash;
                __entry->inode = inode;
                __entry->may_flags = may_flags;
@@ -248,15 +248,15 @@ TRACE_EVENT(nfsd_file_acquire,
                __entry->nf_flags = nf ? nf->nf_flags : 0;
                __entry->nf_may = nf ? nf->nf_may : 0;
                __entry->nf_file = nf ? nf->nf_file : NULL;
-               __entry->status = status;
+               __entry->status = be32_to_cpu(status);
        ),
 
        TP_printk("xid=0x%x hash=0x%x inode=0x%p may_flags=%s ref=%d nf_flags=%s nf_may=%s nf_file=0x%p status=%u",
-                       be32_to_cpu(__entry->xid), __entry->hash, __entry->inode,
+                       __entry->xid, __entry->hash, __entry->inode,
                        show_nf_may(__entry->may_flags), __entry->nf_ref,
                        show_nf_flags(__entry->nf_flags),
                        show_nf_may(__entry->nf_may), __entry->nf_file,
-                       be32_to_cpu(__entry->status))
+                       __entry->status)
 );
 
 DECLARE_EVENT_CLASS(nfsd_file_search_class,