[PATCH] knfsd: ratelimit some nfsd messages that are triggered by external events

Also remove {NFSD,RPC}_PARANOIA as having the defines doesn't really add
anything.

The printks covered by RPC_PARANOIA were triggered by badly formatted
packets and so should be ratelimited.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
NeilBrown
2007-01-29 13:19:52 -08:00
committed by Linus Torvalds
parent d019bcf0eb
commit 34e9a63b4f
5 changed files with 30 additions and 31 deletions

View File

@@ -26,7 +26,6 @@
#include <linux/sunrpc/clnt.h>
#define RPCDBG_FACILITY RPCDBG_SVCDSP
#define RPC_PARANOIA 1
/*
* Mode for mapping cpus to pools.
@@ -872,15 +871,15 @@ svc_process(struct svc_rqst *rqstp)
return 0;
err_short_len:
#ifdef RPC_PARANOIA
printk("svc: short len %Zd, dropping request\n", argv->iov_len);
#endif
if (net_ratelimit())
printk("svc: short len %Zd, dropping request\n", argv->iov_len);
goto dropit; /* drop request */
err_bad_dir:
#ifdef RPC_PARANOIA
printk("svc: bad direction %d, dropping request\n", dir);
#endif
if (net_ratelimit())
printk("svc: bad direction %d, dropping request\n", dir);
serv->sv_stats->rpcbadfmt++;
goto dropit; /* drop request */
@@ -909,10 +908,10 @@ err_bad_prog:
goto sendit;
err_bad_vers:
#ifdef RPC_PARANOIA
printk("svc: unknown version (%d for prog %d, %s)\n",
vers, prog, progp->pg_name);
#endif
if (net_ratelimit())
printk("svc: unknown version (%d for prog %d, %s)\n",
vers, prog, progp->pg_name);
serv->sv_stats->rpcbadfmt++;
svc_putnl(resv, RPC_PROG_MISMATCH);
svc_putnl(resv, progp->pg_lovers);
@@ -920,17 +919,17 @@ err_bad_vers:
goto sendit;
err_bad_proc:
#ifdef RPC_PARANOIA
printk("svc: unknown procedure (%d)\n", proc);
#endif
if (net_ratelimit())
printk("svc: unknown procedure (%d)\n", proc);
serv->sv_stats->rpcbadfmt++;
svc_putnl(resv, RPC_PROC_UNAVAIL);
goto sendit;
err_garbage:
#ifdef RPC_PARANOIA
printk("svc: failed to decode args\n");
#endif
if (net_ratelimit())
printk("svc: failed to decode args\n");
rpc_stat = rpc_garbage_args;
err_bad:
serv->sv_stats->rpcbadfmt++;