Patchwork [9/9] net/sunrpc/svc.c: Use printf extension %pV

login
register
mail settings
Submitter Joe Perches
Date Nov. 10, 2010, 12:35 a.m.
Message ID <b604853e1e9ceb978763d7d798e45f234226feaa.1289348758.git.joe@perches.com>
Download mbox | patch
Permalink /patch/70595/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Joe Perches - Nov. 10, 2010, 12:35 a.m.
Using %pV reduces the number of printk calls and
eliminates any possible message interleaving from
other printk calls.

Signed-off-by: Joe Perches <joe@perches.com>
---
 net/sunrpc/svc.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

Patch

diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index 6359c42..e28ddb3 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -962,6 +962,7 @@  static int
 __attribute__ ((format (printf, 2, 3)))
 svc_printk(struct svc_rqst *rqstp, const char *fmt, ...)
 {
+	struct va_format vaf;
 	va_list args;
 	int 	r;
 	char 	buf[RPC_MAX_ADDRBUFLEN];
@@ -969,11 +970,14 @@  svc_printk(struct svc_rqst *rqstp, const char *fmt, ...)
 	if (!net_ratelimit())
 		return 0;
 
-	printk(KERN_WARNING "svc: %s: ",
-		svc_print_addr(rqstp, buf, sizeof(buf)));
-
 	va_start(args, fmt);
-	r = vprintk(fmt, args);
+
+	vaf.fmt = fmt;
+	vaf.va = &args;
+
+	r = printk(KERN_WARNING "svc: %s: %pV",
+		   svc_print_addr(rqstp, buf, sizeof(buf)), &vaf);
+
 	va_end(args);
 
 	return r;