Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Sep 2002 20:08:17 -0400 (EDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Don Lewis <dl-freebsd@catspoiler.org>
Cc:        current@FreeBSD.org, jeff@FreeBSD.org
Subject:   Re: vnode lock assertion problem in nfs_link()
Message-ID:  <Pine.NEB.3.96L.1020909200649.4317A-100000@fledge.watson.org>
In-Reply-To: <200209092300.g89N0Hwr093398@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 9 Sep 2002, Don Lewis wrote:

> nfs_link() contains the following code:
> 
>         /*
>          * Push all writes to the server, so that the attribute cache
>          * doesn't get "out of sync" with the server.
>          * XXX There should be a better way!
>          */
>         VOP_FSYNC(vp, cnp->cn_cred, MNT_WAIT, cnp->cn_thread);
> 
> The problem is that vp is not locked by the caller, but VOP_FSYNC() 
> expects its argument to be locked. 
> 
> I think we can probably just lock and unlock vp around the call to
> VOP_FSYNC() ...

What I'd actually like to do is lock vp on going in to the VOP.  I need to
grab the lock in the link() code anyway to do the MAC check.  UFS and
others all immediately lock the vnode on entry anyway...

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org      Network Associates Laboratories



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?Pine.NEB.3.96L.1020909200649.4317A-100000>