On 9 Sep, 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() ...
Hmn, I think I just figured out this bit of code in ufs_link(): if (tdvp != vp && (error = vn_lock(vp, LK_EXCLUSIVE, td))) { goto out2; } It would probably be a bad thing to unconditionally lock vp if vp and tdvp are the same ... To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message