Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Apr 2009 14:44:01 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: integrating nfsv4 locking with nlm and local locking
Message-ID:  <Pine.GSO.4.63.0904131431500.3907@muncher.cs.uoguelph.ca>
In-Reply-To: <200904131146.21640.jhb@freebsd.org>
References:  <Pine.GSO.4.63.0904091433590.24215@muncher.cs.uoguelph.ca> <200904131146.21640.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help


On Mon, 13 Apr 2009, John Baldwin wrote:

>
> You have to hold the vnode lock to set a VV flag always.  Even if you do an
> atomic operation to set your flag, another thread might be setting a flag at
> the same time using non-atomic ops and could clobber your change (if it does
> a read-modify-write and reads a value that pre-dates your atomic_set_int()
> but its write posts after your write).
>
Righto, thanks. (I should have realized that.) I guess I'll have to use a
VI_xxx flag or add a field to the vnode to make the scheme work. I am
just trying to come up with a stopgap solution until something more
comprehensive can be done w.r.t. handling delegations.

VI_xxx are currently used for handling the vnode and it doesn't seem
appropriate to add one of these to indicate "don't issue delegations".

How do others feel w.r.t. adding a VI_xxx flag vs adding v_disabledelegate
to the structure?

There is always the fallback position of shipping an nfsv4 server with
delegations disabled, until handling them when local VOPs are done, gets
resolved.

rick




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