Subject: Re: CVS commit: src/sys/fs/ntfs
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Jaromir Dolecek <jdolecek@netbsd.org>
List: tech-kern
Date: 04/10/2003 22:55:54
der Mouse wrote:
> 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.

genfs_eopnotsupp_rele() apparently works for rename with tvp WILLRELE and
a check for NULL vp. The WILLPUT_UNLESS...WILLRELE should be exactly
adressed by the vp_last hack. All in all, eopnotsupp_rele should
now DTRT in all relevant cases, at least I don't seem to be able
to trigger deadlock or 'locking against myself' using that instead
of the custom NTFS routines.
 
Jaromir
-- 
Jaromir Dolecek <jdolecek@NetBSD.org>            http://www.NetBSD.org/
-=- We should be mindful of the potential goal, but as the tantric    -=-
-=- Buddhist masters say, ``You may notice during meditation that you -=-
-=- sometimes levitate or glow.   Do not let this distract you.''     -=-