diff options
author | J. Bruce Fields <bfields@redhat.com> | 2012-08-17 21:47:53 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-08-21 17:42:00 -0400 |
commit | 5b444cc9a4c979aa0fa185c8ddca221462a34b7a (patch) | |
tree | 7a2b23292f279c31bacdabd95a709605e194137a /fs/lockd/svc.c | |
parent | 9f9d2ebe693a98d517257e1a39f61120b4473b96 (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/lockd/svc.c')
-rw-r--r-- | fs/lockd/svc.c | 17 |
1 files changed, 2 insertions, 15 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) | |||
126 | static int | 126 | static int |
127 | lockd(void *vrqstp) | 127 | lockd(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 | ||