diff options
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 7e355870d519..a2aa97d45670 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 | ||
