]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/nfs/callback.c
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
[karo-tx-linux.git] / fs / nfs / callback.c
index 2245bef50f37a847b366387a6dc6d0e2d30e1f2f..5088b57b078a729d09ced36b3e491c01cba9cf4c 100644 (file)
@@ -72,7 +72,7 @@ out_err:
 static int
 nfs4_callback_svc(void *vrqstp)
 {
-       int err, preverr = 0;
+       int err;
        struct svc_rqst *rqstp = vrqstp;
 
        set_freezable();
@@ -82,20 +82,8 @@ nfs4_callback_svc(void *vrqstp)
                 * Listen for a request on the socket
                 */
                err = svc_recv(rqstp, MAX_SCHEDULE_TIMEOUT);
-               if (err == -EAGAIN || err == -EINTR) {
-                       preverr = err;
+               if (err == -EAGAIN || err == -EINTR)
                        continue;
-               }
-               if (err < 0) {
-                       if (err != preverr) {
-                               printk(KERN_WARNING "NFS: %s: unexpected error "
-                                       "from svc_recv (%d)\n", __func__, err);
-                               preverr = err;
-                       }
-                       schedule_timeout_uninterruptible(HZ);
-                       continue;
-               }
-               preverr = err;
                svc_process(rqstp);
        }
        return 0;
@@ -253,7 +241,7 @@ static int nfs_callback_start_svc(int minorversion, struct rpc_xprt *xprt,
                svc_exit_thread(cb_info->rqst);
                cb_info->rqst = NULL;
                cb_info->task = NULL;
-               return PTR_ERR(cb_info->task);
+               return ret;
        }
        dprintk("nfs_callback_up: service started\n");
        return 0;