Date: Mon, 3 Jul 2006 07:20:10 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: Francisco Reyes <lists@stringsutils.com> Cc: freebsd-stable@freebsd.org, Michel Talon <talon@lpthe.jussieu.fr>, User Freebsd <freebsd@hub.org> Subject: Re: NFS Locking Issue Message-ID: <20060703042010.GG37822@deviant.kiev.zoral.com.ua> In-Reply-To: <cone.1151876984.69254.64011.1000@zoraida.natserv.net> References: <20060629230309.GA12773@lpthe.jussieu.fr> <20060630041733.GA4941@zibbi.meraka.csir.co.za> <cone.1151802806.162227.42680.1000@zoraida.natserv.net> <20060702162942.D1103@ganymede.hub.org> <cone.1151876984.69254.64011.1000@zoraida.natserv.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--vKFfOv5t3oGVpiF+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Jul 02, 2006 at 05:49:44PM -0400, Francisco Reyes wrote: > User Freebsd writes: >=20 > >Since there are several of us experiencing what looks to be the same sor= t=20 > >of deadlock issue, I beseech you not to give up >=20 > I will try to setup the environment, but to be honest no more 6.X for us= =20 > until 6.2 or 6.3.. We have lost clients already. I think that then 6.2 and 6.3 is not for you either. Problems cannot be fixed until enough information is given. Since nobody except you experience that problems (at least, only you notified about the problem existence), no bug reports with sufficient information is given. >=20 > >Is this a problem that you can easily recreate >=20 > There is one thing I can easily recreate that would very helpfull to solv= e. > The 6.X NFS clients freeze if the NFS server goes away. >=20 > I have been able to reproduce that every single time.. both in test and= =20 > production. Is this for intr mounts ? I posted some time ago the patches that improved handling of signals in nfs client. If you could test it, that would be useful. ? sys/nfsclient/.arch-ids Index: sys/nfsclient/nfs_socket.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /usr/local/arch/ncvs/src/sys/nfsclient/nfs_socket.c,v retrieving revision 1.141 diff -u -r1.141 nfs_socket.c --- sys/nfsclient/nfs_socket.c 23 May 2006 18:33:58 -0000 1.141 +++ sys/nfsclient/nfs_socket.c 3 Jul 2006 04:19:23 -0000 @@ -1701,11 +1701,13 @@ p =3D td->td_proc; PROC_LOCK(p); tmpset =3D p->p_siglist; + SIGSETOR(tmpset, td->td_siglist); SIGSETNAND(tmpset, td->td_sigmask); mtx_lock(&p->p_sigacts->ps_mtx); SIGSETNAND(tmpset, p->p_sigacts->ps_sigignore); mtx_unlock(&p->p_sigacts->ps_mtx); - if (SIGNOTEMPTY(p->p_siglist) && nfs_sig_pending(tmpset)) { + if ((SIGNOTEMPTY(p->p_siglist) || SIGNOTEMPTY(td->td_siglist)) + && nfs_sig_pending(tmpset)) { PROC_UNLOCK(p); return (EINTR); } Index: sys/nfsclient/nfs_vnops.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /usr/local/arch/ncvs/src/sys/nfsclient/nfs_vnops.c,v retrieving revision 1.266 diff -u -r1.266 nfs_vnops.c --- sys/nfsclient/nfs_vnops.c 19 May 2006 00:04:24 -0000 1.266 +++ sys/nfsclient/nfs_vnops.c 3 Jul 2006 04:19:24 -0000 @@ -2716,7 +2716,7 @@ * otherwise just do it ourselves. */ if ((bp->b_flags & B_ASYNC) =3D=3D 0 || - nfs_asyncio(VFSTONFS(ap->a_vp->v_mount), bp, NOCRED, td)) + nfs_asyncio(VFSTONFS(ap->a_vp->v_mount), bp, NOCRED, curthread)) (void)nfs_doio(ap->a_vp, bp, cr, td); return (0); } --vKFfOv5t3oGVpiF+ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (FreeBSD) iD8DBQFEqJr6C3+MBN1Mb4gRAs0QAJ9PPTCtdFjWFJC3osU7OsoneGqNWwCfcOqF mC49Qg5T6AICokwWe863s5E= =0oBr -----END PGP SIGNATURE----- --vKFfOv5t3oGVpiF+--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060703042010.GG37822>