A lockd bug in Linux 2.2.1 causes netscape to hang when hitting the
"new msg" button. It took me a while to figure out what was going
on. I have sent a patch to Linus. I hope it will be fixed in the
official kernel soon. I am enclosing the patch here.
-- H.J. Lu (hjl@gnu.org)--- Index: fs/lockd/clntproc.c =================================================================== RCS file: /local/work/cvs/linux/linux/fs/lockd/clntproc.c,v retrieving revision 1.1.1.8 diff -u -p -r1.1.1.8 clntproc.c --- fs/lockd/clntproc.c 1999/01/27 00:29:00 1.1.1.8 +++ fs/lockd/clntproc.c 1999/01/28 06:49:11 @@ -230,6 +230,8 @@ nlmclnt_call(struct nlm_rqst *req, u32 p /* Perform the RPC call. If an error occurs, try again */ if ((status = rpc_call(clnt, proc, argp, resp, 0)) < 0) { dprintk("lockd: rpc_call returned error %d\n", -status); + if (status == -EPROTONOSUPPORT) + return -EINVAL; if (status == -ERESTARTSYS) return status; nlm_rebind_host(host); Index: net/sunrpc/pmap_clnt.c =================================================================== RCS file: /local/work/cvs/linux/linux/net/sunrpc/pmap_clnt.c,v retrieving revision 1.1.1.3 diff -u -p -r1.1.1.3 pmap_clnt.c --- net/sunrpc/pmap_clnt.c 1997/10/25 04:26:38 1.1.1.3 +++ net/sunrpc/pmap_clnt.c 1999/01/27 23:36:35 @@ -121,7 +121,7 @@ pmap_getport_done(struct rpc_task *task) task->tk_action = NULL; } else if (clnt->cl_port == 0) { /* Program not registered */ - task->tk_status = -EACCES; + task->tk_status = -EPROTONOSUPPORT; task->tk_action = NULL; } else { /* byte-swap port number first */- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/