Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Sep 2001 18:28:25 -0500
From:      Alfred Perlstein <bright@mu.org>
To:        Earsh Nandkeshwar <earsh@apple.com>
Cc:        fs@freebsd.org
Subject:   Re: vnode locking for nfs
Message-ID:  <20010913182825.O968@elvis.mu.org>
In-Reply-To: <AAA9A94A-A894-11D5-9FD4-0030656F08E0@apple.com>; from earsh@apple.com on Thu, Sep 13, 2001 at 03:14:14PM -0700
References:  <AAA9A94A-A894-11D5-9FD4-0030656F08E0@apple.com>

next in thread | previous in thread | raw e-mail | index | archive | help
* Earsh Nandkeshwar <earsh@apple.com> [010913 17:14] wrote:
> I was looking thru a snapshot of the freebsd code after hearing rumors 
> that vnode locking for NFS existed. I can't seem to locate it and wanted 
> to know if it has been implemented. This is not the same as lockd, but a 
> lock to protect fields in vnode.
> 
> I see rslock was implemented to handle a particular case.
> 
> If someone could inform me on why nfs_lock was defined out of the 
> source, that would be great. Was it implemented a long time ago, had 
> trouble, and pulled out. Or was it more like "work in progress" and code 
> left around but not used.

Hold grain of salt in left hand before proceeding...

I think the problem is due to the way that our stateful VFS works,
the problem is that locks must be held through certain loookup
operations on multiple levels, hence if a server goes down we
lock all the way to the root which is bad.

Under the SunOS VFS many operations are split into multiple ops
where locks are dropped, this avoids the problem but causes some
operations to require two (or maybe more) itirations to function
properly because they drop locks.

Under GFS (mentioned in Vahallia (sp?)) it functions as the BSD
model does (or at least close) however one can invalidate a lock
forcing the long time lock holder to restart his operation.

At least that's what my understanding from reading and hearing Kirk
talk about it, I haven't actually explored this code yet.

-- 
-Alfred Perlstein [alfred@freebsd.org]
'Instead of asking why a piece of software is using "1970s technology,"
start asking why software is ignoring 30 years of accumulated wisdom.'

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




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