Subject: Re: VNODEOPs & SAVESTART in cn_flags
To: Bill Studenmund <email@example.com>
From: Chris Jepeway <firstname.lastname@example.org>
Date: 01/29/2002 16:01:15
> Hmmm.. That means that fixing the problems probably won't break things.
Yup. 'Course, it also means that testing a fix is hard, too.
> I agree that all f/s should behave the same. The alternative to having all
> VOPs honor SAVESTART would be to document which do and don't.
> Just honoring it across the board would probaby be easiest.
That was my thought, too, but I broke my head trying
to puzzle out how ufs_rename() wants to use it. It seems
like ufs_rename() unconditionally steps on SAVESTART when,
eg, calling relookup(). I guess that's to avoid VREF()ing
the starting directory, but then there's no chance for ufs_rename()'s
caller to use SAVESTART to hang onto cn_pnbuf. Maybe ufs_rename()
should turn a SAVESTART into a SAVENAME?
Then, there's the whole thing about SAVESTART vs. SAVENAME in
VOP calls. Those VOPs that pay attention to SAVESTART do it
by taking it to mean "don't PNBUF_PUT() and don't let VOP_ABORTOP()
do it, either." Should VOPs use SAVENAME to mean "PNBUF_PUT() only
on error?" Or should they just ignore SAVENAME?
> PR sounds good.
OK, it's kern/15421.