patch-2.1.67 linux/net/sunrpc/clnt.c
Next file: linux/CREDITS
Previous file: linux/net/appletalk/ddp.c
Back to the patch index
Back to the overall index
- Lines: 39
- Date:
Wed Nov 26 15:32:27 1997
- Orig file:
v2.1.66/linux/net/sunrpc/clnt.c
- Orig date:
Wed Nov 26 16:24:03 1997
diff -u --recursive --new-file v2.1.66/linux/net/sunrpc/clnt.c linux/net/sunrpc/clnt.c
@@ -325,16 +325,27 @@
{
dprintk("RPC: %4d call_reserveresult (status %d)\n",
task->tk_pid, task->tk_status);
+ /*
+ * After a call to xprt_reserve(), we must have either
+ * a request slot or else an error status.
+ */
+ if ((task->tk_status >= 0 && !task->tk_rqstp) ||
+ (task->tk_status < 0 && task->tk_rqstp))
+ printk("call_reserveresult: status=%d, request=%p??\n",
+ task->tk_status, task->tk_rqstp);
if (task->tk_status >= 0) {
task->tk_action = call_allocate;
+ goto out;
} else if (task->tk_status == -EAGAIN) {
task->tk_timeout = task->tk_client->cl_timeout.to_resrvval;
task->tk_status = 0;
xprt_reserve(task);
- return;
+ goto out;
} else if (task->tk_status == -ETIMEDOUT) {
+ printk("RPC: task timed out\n");
task->tk_action = call_timeout;
+ goto out;
} else {
task->tk_action = NULL;
}
@@ -342,6 +353,8 @@
printk("RPC: task has no request, exit EIO\n");
rpc_exit(task, -EIO);
}
+out:
+ return;
}
/*
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov