Subject: Re: VNODEOPs & SAVESTART in cn_flags
To: Bill Studenmund <wrstuden@netbsd.org>
From: Chris Jepeway <jepeway@blasted-heath.com>
List: tech-kern
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.

> Bill
Chris <jepeway@blasted-heath.com>.