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

Reply via email to