aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/callback.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-08-17 21:47:53 -0400
committerJ. Bruce Fields <bfields@redhat.com>2012-08-21 17:42:00 -0400
commit5b444cc9a4c979aa0fa185c8ddca221462a34b7a (patch)
tree7a2b23292f279c31bacdabd95a709605e194137a /fs/nfs/callback.c
parent9f9d2ebe693a98d517257e1a39f61120b4473b96 (diff)
svcrpc: remove handling of unknown errors from svc_recv
svc_recv() returns only -EINTR or -EAGAIN. If we really want to worry about the case where it has a bug that causes it to return something else, we could stick a WARN() in svc_recv. But it's silly to require every caller to have all this boilerplate to handle that case. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfs/callback.c')
-rw-r--r--fs/nfs/callback.c16
1 files changed, 2 insertions, 14 deletions
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;