aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/svc.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2007-01-29 16:19:52 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-01-30 11:26:45 -0500
commit34e9a63b4f3e169b583f6ba2e26356ecbf932fba (patch)
tree445562aa7159ef7ec3d29f8e1cc18d578d9bfcae /net/sunrpc/svc.c
parentd019bcf0eb9a55c51f1c57659f923d356b4675e1 (diff)
[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>
Diffstat (limited to 'net/sunrpc/svc.c')
-rw-r--r--net/sunrpc/svc.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index bf21a2047010..4c1611211119 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -26,7 +26,6 @@
26#include <linux/sunrpc/clnt.h> 26#include <linux/sunrpc/clnt.h>
27 27
28#define RPCDBG_FACILITY RPCDBG_SVCDSP 28#define RPCDBG_FACILITY RPCDBG_SVCDSP
29#define RPC_PARANOIA 1
30 29
31/* 30/*
32 * Mode for mapping cpus to pools. 31 * Mode for mapping cpus to pools.
@@ -872,15 +871,15 @@ svc_process(struct svc_rqst *rqstp)
872 return 0; 871 return 0;
873 872
874err_short_len: 873err_short_len:
875#ifdef RPC_PARANOIA 874 if (net_ratelimit())
876 printk("svc: short len %Zd, dropping request\n", argv->iov_len); 875 printk("svc: short len %Zd, dropping request\n", argv->iov_len);
877#endif 876
878 goto dropit; /* drop request */ 877 goto dropit; /* drop request */
879 878
880err_bad_dir: 879err_bad_dir:
881#ifdef RPC_PARANOIA 880 if (net_ratelimit())
882 printk("svc: bad direction %d, dropping request\n", dir); 881 printk("svc: bad direction %d, dropping request\n", dir);
883#endif 882
884 serv->sv_stats->rpcbadfmt++; 883 serv->sv_stats->rpcbadfmt++;
885 goto dropit; /* drop request */ 884 goto dropit; /* drop request */
886 885
@@ -909,10 +908,10 @@ err_bad_prog:
909 goto sendit; 908 goto sendit;
910 909
911err_bad_vers: 910err_bad_vers:
912#ifdef RPC_PARANOIA 911 if (net_ratelimit())
913 printk("svc: unknown version (%d for prog %d, %s)\n", 912 printk("svc: unknown version (%d for prog %d, %s)\n",
914 vers, prog, progp->pg_name); 913 vers, prog, progp->pg_name);
915#endif 914
916 serv->sv_stats->rpcbadfmt++; 915 serv->sv_stats->rpcbadfmt++;
917 svc_putnl(resv, RPC_PROG_MISMATCH); 916 svc_putnl(resv, RPC_PROG_MISMATCH);
918 svc_putnl(resv, progp->pg_lovers); 917 svc_putnl(resv, progp->pg_lovers);
@@ -920,17 +919,17 @@ err_bad_vers:
920 goto sendit; 919 goto sendit;
921 920
922err_bad_proc: 921err_bad_proc:
923#ifdef RPC_PARANOIA 922 if (net_ratelimit())
924 printk("svc: unknown procedure (%d)\n", proc); 923 printk("svc: unknown procedure (%d)\n", proc);
925#endif 924
926 serv->sv_stats->rpcbadfmt++; 925 serv->sv_stats->rpcbadfmt++;
927 svc_putnl(resv, RPC_PROC_UNAVAIL); 926 svc_putnl(resv, RPC_PROC_UNAVAIL);
928 goto sendit; 927 goto sendit;
929 928
930err_garbage: 929err_garbage:
931#ifdef RPC_PARANOIA 930 if (net_ratelimit())
932 printk("svc: failed to decode args\n"); 931 printk("svc: failed to decode args\n");
933#endif 932
934 rpc_stat = rpc_garbage_args; 933 rpc_stat = rpc_garbage_args;
935err_bad: 934err_bad:
936 serv->sv_stats->rpcbadfmt++; 935 serv->sv_stats->rpcbadfmt++;