From owner-freebsd-current Mon Nov 29 13:52:34 1999 Delivered-To: freebsd-current@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id C4B041546F; Mon, 29 Nov 1999 13:52:31 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id NAA09656; Mon, 29 Nov 1999 13:52:29 -0800 (PST) (envelope-from dillon) Date: Mon, 29 Nov 1999 13:52:29 -0800 (PST) From: Matthew Dillon Message-Id: <199911292152.NAA09656@apollo.backplane.com> To: "Viren R.Shah" Cc: Eivind Eklund , freebsd-current@FreeBSD.ORG Subject: Re: repeatable crash in -current (softupdates, NFS) References: <14399.63511.296802.242618@jabberwock.rstcorp.com> <19991127191729.A53832@bitbox.follo.net> <14402.62122.461010.454021@jabberwock.rstcorp.com> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG : : Eivind> I *think* I know what this is due to - please upgrade : Eivind> src/sys/nfs/nfs_vnops.c to revision 1.146 (which I just : Eivind> committed) and try again. : :Tried it. Doesn't work. :-( It still crashes when creating a symbolic :link on a NFS mounted filesystem. [This is unfortunate in my case, :as it prevents me from running Netscape -- the home dirs are NFS :mounted] Eivind, I'm not sure that change you made is legal. People use symlink creation the same way they use O_EXCL file creation - as a locking mechanism. In fact, in NFSv2 O_EXCL file creation is not atomic (I'm pretty sure) and symlink was the *only* method available. It goes like this: * create the symlink * If it succeeds, you are done, you own the lock. * If it does not succeed, read the symlink to determine if the lock is valid. If the lock is not valid you have to wait for a mechanism running on the server to clear it, If the lock is valid and it is yours (you determine this from the contents) then you already own the lock and can continue. If the lock is valid and not yours, you sleep and loop. If you blow away the error you will probably break a good deal of third party code. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message