Date: Wed, 14 Jan 2004 12:38:13 -0800 (PST) From: Don Lewis <truckman@FreeBSD.org> To: tjr@FreeBSD.org Cc: current@FreeBSD.org Subject: Re: simplifying linux_emul_convpath() Message-ID: <200401142038.i0EKcD7E040320@gw.catspoiler.org> In-Reply-To: <20040114140818.GA15471@cat.robbins.dropbear.id.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On 15 Jan, Tim Robbins wrote: > On Wed, Jan 14, 2004 at 05:08:51AM -0800, Don Lewis wrote: > >> I just stumbled across a vnode locking violation in >> linux_emul_convpath(). Rather than locking and unlocking each vnode for >> the VOP_GETATTR() calls, is there any reason that this code should not >> be simplified to just compare the vnode pointers rather than fetching >> the vnode attributes and comparing the attributes for equality. > > I'm having trouble convincing myself that comparing vnode pointers > would work with stackable filesystems. Then again, null_getattr() > changes va_fsid, so linux_emul_convpath() may not handle stacking > properly right now anyway. They won't compare equal in either case, but I think that is what you want in this case anyway. I don't think we want a Linux application opening a file to trigger the match code if it does a lookup on /some/other/path if that location is a nullfs mounted version of of /compat/linux.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401142038.i0EKcD7E040320>