Subject: Re: CVS commit: src/sys/fs/ntfs
To: None <tech-kern@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 04/10/2003 15:31:19
>> vop_rename {
>>         IN WILLRELE struct vnode *fdvp;
>>         IN WILLRELE struct vnode *fvp;
>>         IN struct componentname *fcnp;
>>         IN WILLPUT struct vnode *tdvp;
>>         IN WILLRELE struct vnode *tvp;
>>         IN struct componentname *tcnp;
>> };

>> rename only has one WILLPUT,

> Hmm, true.  But current ntfs_rename(), and ufs_rename() which was
> source of the info, has [...]

When I looked at this, I came to the conclusion that vnode_if.src was
wrong, that to accurately describe rename it needed not only a
WILLPUT_UNLESS_NULL but something like
WILLPUT_UNLESS_EQUAL_TO_THIS_OTHER_IN_WHICH_CASE_WILLRELE (exact
details have faded by now and may well not match -current anyway), and
that the only reason this hadn't caused crashes was that the only
filesystems that used genfs_eopnotsupp_rele for rename were filesystems
that turfed rename attempts in their lookup routines and hence never
actually called their rename methods.

Which is really all to say, I would trust the code over the semi-code
documentation in vnode_if.src, in this case.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B