From owner-cvs-src-old@FreeBSD.ORG Wed Apr 27 18:19:41 2011 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 697B91065784 for ; Wed, 27 Apr 2011 18:19:41 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5A4378FC08 for ; Wed, 27 Apr 2011 18:19:41 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p3RIJffT089062 for ; Wed, 27 Apr 2011 18:19:41 GMT (envelope-from rmacklem@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p3RIJf2L089061 for cvs-src-old@freebsd.org; Wed, 27 Apr 2011 18:19:41 GMT (envelope-from rmacklem@repoman.freebsd.org) Message-Id: <201104271819.p3RIJf2L089061@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to rmacklem@repoman.freebsd.org using -f From: Rick Macklem Date: Wed, 27 Apr 2011 18:19:26 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/rpc clnt.h clnt_rc.c clnt_vc.c rpcb_clnt.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Apr 2011 18:19:41 -0000 rmacklem 2011-04-27 18:19:26 UTC FreeBSD src repository Modified files: sys/rpc clnt.h clnt_rc.c clnt_vc.c rpcb_clnt.c Log: SVN rev 221127 on 2011-04-27 18:19:26Z by rmacklem This patch is believed to fix a problem in the kernel rpc for non-interruptible NFS mounts, where a kernel thread will seem to be stuck sleeping on "rpccon". The msleep() in clnt_vc_create() that was waiting to a TCP connect to complete would return ERESTART, since PCATCH was specified. Then the tsleep() in clnt_reconnect_call() would sleep for 1 second and then try again and again and... The patch changes the msleep() in clnt_vc_create() so it only sets the PCATCH flag for interruptible cases. Tested by: pho Reviewed by: jhb MFC after: 2 weeks Revision Changes Path 1.4 +2 -1 src/sys/rpc/clnt.h 1.12 +1 -1 src/sys/rpc/clnt_rc.c 1.15 +7 -3 src/sys/rpc/clnt_vc.c 1.4 +1 -1 src/sys/rpc/rpcb_clnt.c