Skip site navigation (1)Skip section navigation (2)
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>