linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: Andy Whitcroft <apw@canonical.com>, Joe Perches <joe@perches.com>
Cc: Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Use of uninitialized value $line in pattern match
Date: Mon, 5 Mar 2018 16:06:08 -0500	[thread overview]
Message-ID: <7BF29D14-256C-4C81-A37C-C816441E57C8@oracle.com> (raw)
In-Reply-To: 20180305210022.18859.37483.stgit@klimt.1015granger.net

I think I'm seeing a parsing error in v4.16-rc4 scripts/checkpatch.pl:

Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
Use of uninitialized value $line in pattern match (m//) at =
scripts/checkpatch.pl line 1300.
total: 0 errors, 0 warnings, 69 lines checked

patches-nfsd-rdma-for-4.17/nfsd-compound-trace-points has no obvious =
style problems and is ready for submission.



nfsd: Trace NFSv4 COMPOUND execution

This helps record the identity and timing of the ops in each NFSv4
COMPOUND, replacing dprintk calls that did much the same thing.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
fs/nfsd/nfs4proc.c |    9 +++------
fs/nfsd/trace.h    |   39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index 39016b6..0df37e0 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -1722,12 +1722,10 @@ static void svcxdr_init_encode(struct svc_rqst =
*rqstp,
		goto encode_op;
	}

+	trace_nfsd_compound(rqstp, args->opcnt);
	while (!status && resp->opcnt < args->opcnt) {
		op =3D &args->ops[resp->opcnt++];

-		dprintk("nfsv4 compound op #%d/%d: %d (%s)\n",
-			resp->opcnt, args->opcnt, op->opnum,
-			nfsd4_op_name(op->opnum));
		/*
		 * The XDR decode routines may have pre-set op->status;
		 * for example, if there is a miscellaneous XDR error
@@ -1801,9 +1799,8 @@ static void svcxdr_init_encode(struct svc_rqst =
*rqstp,
			status =3D op->status;
		}

-		dprintk("nfsv4 compound op %p opcnt %d #%d: %d: status =
%d\n",
-			args->ops, args->opcnt, resp->opcnt, op->opnum,
-			be32_to_cpu(status));
+		trace_nfsd_compound_status(args->opcnt, resp->opcnt, =
status,
+					   nfsd4_op_name(op->opnum));

		nfsd4_cstate_clear_replay(cstate);
		nfsd4_increment_op_stats(op->opnum);
diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h
index a8bbd9d..80933e4 100644
--- a/fs/nfsd/trace.h
+++ b/fs/nfsd/trace.h
@@ -11,6 +11,45 @@
#include <linux/tracepoint.h>
#include "nfsfh.h"

+TRACE_EVENT(nfsd_compound,
+	TP_PROTO(const struct svc_rqst *rqst,
+		 u32 args_opcnt),
+	TP_ARGS(rqst, args_opcnt),
+	TP_STRUCT__entry(
+		__field(u32, xid)
+		__field(u32, args_opcnt)
+	),
+	TP_fast_assign(
+		__entry->xid =3D be32_to_cpu(rqst->rq_xid);
+		__entry->args_opcnt =3D args_opcnt;
+	),
+	TP_printk("xid=3D0x%08x opcnt=3D%u",
+		__entry->xid, __entry->args_opcnt)
+)
+
+TRACE_EVENT(nfsd_compound_status,
+	TP_PROTO(u32 args_opcnt,
+		 u32 resp_opcnt,
+		 __be32 status,
+		 const char *name),
+	TP_ARGS(args_opcnt, resp_opcnt, status, name),
+	TP_STRUCT__entry(
+		__field(u32, args_opcnt)
+		__field(u32, resp_opcnt)
+		__field(int, status)
+		__string(name, name)
+	),
+	TP_fast_assign(
+		__entry->args_opcnt =3D args_opcnt;
+		__entry->resp_opcnt =3D resp_opcnt;
+		__entry->status =3D be32_to_cpu(status);
+		__assign_str(name, name);
+	),
+	TP_printk("op=3D%u/%u %s status=3D%d",
+		__entry->resp_opcnt, __entry->args_opcnt,
+		__get_str(name), __entry->status)
+)
+
DECLARE_EVENT_CLASS(nfsd_io_class,
	TP_PROTO(struct svc_rqst *rqstp,
		 struct svc_fh	*fhp,


--
Chuck Lever




       reply	other threads:[~2018-03-05 21:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20180305210022.18859.37483.stgit@klimt.1015granger.net>
2018-03-05 21:06 ` Chuck Lever [this message]
2018-03-06  3:00   ` Use of uninitialized value $line in pattern match Joe Perches
2018-03-06 15:02     ` Chuck Lever
2018-03-06 15:07       ` Joe Perches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7BF29D14-256C-4C81-A37C-C816441E57C8@oracle.com \
    --to=chuck.lever@oracle.com \
    --cc=apw@canonical.com \
    --cc=joe@perches.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).