Messages in this thread | | | Date | Mon, 11 Dec 2006 23:40:16 -0800 (PST) | From | linuxer linuxer <> | Subject | hi, should these code is a problem in nfs system clnt.c? |
| |
Hi, everyone: I am a newbie, if my question waste your time, I am sorry for that.
In clnt.c file ,call_timeout function: I suggest the code that judge whether the network link status is down should be added, won't they? I tested it with one Ethernet netcard.
static void call_timeout(struct rpc_task *task) { struct rpc_clnt *clnt = task->tk_client;
+ struct netdev * dev; + if ((dev = __dev_get_by_name("eth0")) == + NULL){ + rpc_exit(task, -ENOTCONN); + return; + } + else{ + if (!netif_carrier_ok(dev)){ + rpc_exit(task, -ENOTCONN); + return; + } + }
if (xprt_adjust_timeout(task->tk_rqstp) == 0) { dprintk("RPC: %4d call_timeout (minor)\n", task->tk_pid); goto retry; }
dprintk("RPC: %4d call_timeout (major)\n", task->tk_pid); task->tk_timeouts++;
if (RPC_IS_SOFT(task)) { printk(KERN_NOTICE "%s: server %s not responding, timed out\n", clnt->cl_protname, clnt->cl_server); rpc_exit(task, -EIO); return; }
if (!(task->tk_flags & RPC_CALL_MAJORSEEN)) { task->tk_flags |= RPC_CALL_MAJORSEEN; printk(KERN_NOTICE "%s: server %s not responding, still trying\n", clnt->cl_protname, clnt->cl_server); } rpc_force_rebind(clnt);
retry: clnt->cl_stats->rpcretrans++; task->tk_action = call_bind; task->tk_status = 0; }
____________________________________________________________________________________ Yahoo! Music Unlimited Access over 1 million songs. http://music.yahoo.com/unlimited - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |