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>