aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/lockd/svc.c17
-rw-r--r--fs/nfs/callback.c16
-rw-r--r--fs/nfsd/nfssvc.c12
3 files changed, 5 insertions, 40 deletions
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index 31a63f87b806..e515569f0f8b 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -126,7 +126,7 @@ static void restart_grace(void)
126static int 126static int
127lockd(void *vrqstp) 127lockd(void *vrqstp)
128{ 128{
129 int err = 0, preverr = 0; 129 int err = 0;
130 struct svc_rqst *rqstp = vrqstp; 130 struct svc_rqst *rqstp = vrqstp;
131 131
132 /* try_to_freeze() is called from svc_recv() */ 132 /* try_to_freeze() is called from svc_recv() */
@@ -165,21 +165,8 @@ lockd(void *vrqstp)
165 * recvfrom routine. 165 * recvfrom routine.
166 */ 166 */
167 err = svc_recv(rqstp, timeout); 167 err = svc_recv(rqstp, timeout);
168 if (err == -EAGAIN || err == -EINTR) { 168 if (err == -EAGAIN || err == -EINTR)
169 preverr = err;
170 continue; 169 continue;
171 }
172 if (err < 0) {
173 if (err != preverr) {
174 printk(KERN_WARNING "%s: unexpected error "
175 "from svc_recv (%d)\n", __func__, err);
176 preverr = err;
177 }
178 schedule_timeout_interruptible(HZ);
179 continue;
180 }
181 preverr = err;
182
183 dprintk("lockd: request from %s\n", 170 dprintk("lockd: request from %s\n",
184 svc_print_addr(rqstp, buf, sizeof(buf))); 171 svc_print_addr(rqstp, buf, sizeof(buf)));
185 172
diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c
index 4c8459e5bdee..d9e2a1880783 100644
--- a/fs/nfs/callback.c
+++ b/fs/nfs/callback.c
@@ -45,7 +45,7 @@ unsigned short nfs_callback_tcpport6;
45static int 45static int
46nfs4_callback_svc(void *vrqstp) 46nfs4_callback_svc(void *vrqstp)
47{ 47{
48 int err, preverr = 0; 48 int err;
49 struct svc_rqst *rqstp = vrqstp; 49 struct svc_rqst *rqstp = vrqstp;
50 50
51 set_freezable(); 51 set_freezable();
@@ -55,20 +55,8 @@ nfs4_callback_svc(void *vrqstp)
55 * Listen for a request on the socket 55 * Listen for a request on the socket
56 */ 56 */
57 err = svc_recv(rqstp, MAX_SCHEDULE_TIMEOUT); 57 err = svc_recv(rqstp, MAX_SCHEDULE_TIMEOUT);
58 if (err == -EAGAIN || err == -EINTR) { 58 if (err == -EAGAIN || err == -EINTR)
59 preverr = err;
60 continue; 59 continue;
61 }
62 if (err < 0) {
63 if (err != preverr) {
64 printk(KERN_WARNING "NFS: %s: unexpected error "
65 "from svc_recv (%d)\n", __func__, err);
66 preverr = err;
67 }
68 schedule_timeout_uninterruptible(HZ);
69 continue;
70 }
71 preverr = err;
72 svc_process(rqstp); 60 svc_process(rqstp);
73 } 61 }
74 return 0; 62 return 0;
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index dd2b7343d741..2013aa001dab 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -487,7 +487,7 @@ static int
487nfsd(void *vrqstp) 487nfsd(void *vrqstp)
488{ 488{
489 struct svc_rqst *rqstp = (struct svc_rqst *) vrqstp; 489 struct svc_rqst *rqstp = (struct svc_rqst *) vrqstp;
490 int err, preverr = 0; 490 int err;
491 491
492 /* Lock module and set up kernel thread */ 492 /* Lock module and set up kernel thread */
493 mutex_lock(&nfsd_mutex); 493 mutex_lock(&nfsd_mutex);
@@ -534,16 +534,6 @@ nfsd(void *vrqstp)
534 ; 534 ;
535 if (err == -EINTR) 535 if (err == -EINTR)
536 break; 536 break;
537 else if (err < 0) {
538 if (err != preverr) {
539 printk(KERN_WARNING "%s: unexpected error "
540 "from svc_recv (%d)\n", __func__, -err);
541 preverr = err;
542 }
543 schedule_timeout_uninterruptible(HZ);
544 continue;
545 }
546
547 validate_process_creds(); 537 validate_process_creds();
548 svc_process(rqstp); 538 svc_process(rqstp);
549 validate_process_creds(); 539 validate_process_creds();