Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 1999 13:52:29 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "Viren R.Shah" <viren@rstcorp.com>
Cc:        Eivind Eklund <eivind@FreeBSD.ORG>, freebsd-current@FreeBSD.ORG
Subject:   Re: repeatable crash in -current (softupdates, NFS)
Message-ID:  <199911292152.NAA09656@apollo.backplane.com>
References:  <14399.63511.296802.242618@jabberwock.rstcorp.com> <19991127191729.A53832@bitbox.follo.net> <14402.62122.461010.454021@jabberwock.rstcorp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
:
: 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911292152.NAA09656>