Umm, okay.... but I'm a little confused about how the zfree I'm adding to nfs_nget falls under this. Am I being really stupid here?
On Tue, 15 Jun 1999, Matthew Dillon wrote: > This is totally screwed up: The rules used to determine whether > a path component buffer ( struct componentname, sys/namei.h ) is freed > by a VOP routine or not are idiotic. > > As far as I can tell, the rule is: > > * if no error is returned free the path component buffer, but only > if the SAVESTART flag is not set. > > * If an error is returned, free the path component buffer whether > SAVESTART is set or not. > > Combine this with the callers which decide whether to set SAVESTART, > and the result is an extremely fragile mess. Combine this with > VOP_ABORTOP's operation ( which frees the path component if SAVESTART is > not set ) and it gets even worse. > > Confused yet? > > At the very least, anyone who zfree's a path component should > clear the HASBUF flag so sanity checks can be added to the code. The > nfs_serv.c code is unnecessarily complex due to this junkiness. > > I would like to fix this in the tree and add sanity checks. > > -Matt > Matthew Dillon > <[email protected]> > > > To Unsubscribe: send mail to [email protected] > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to [email protected] with "unsubscribe freebsd-hackers" in the body of the message

