|| ||Andreas Gruenbacher <email@example.com>|
|| ||Christoph Hellwig <firstname.lastname@example.org>|
|| ||Re: [RFC 01/10] Split up struct nameidata|
|| ||Fri, 10 Aug 2007 16:42:16 +0200|
|| ||email@example.com, John Johansen <firstname.lastname@example.org>,
Jan Blunck <email@example.com>, Erez Zadok <firstname.lastname@example.org>,
Josef 'Jeff' Sipek <email@example.com>|
On Wed, 08 August 2007, Christoph Hellwig wrote:
> On Wed, Aug 08, 2007 at 07:16:23PM +0200, Andreas Gruenbacher wrote:
> > Split up struct nameidata into struct vfs_lookup with the lookup result
> > and intent and the remaining fields for performing an actual lookup.
> Looks good as a start, but please don't put a struct path in there,
> as the vfsmount will go away from the lookup intent as soon as we have
> a new inode operation for atomic create + open, and not having it in the
> struct path will make that removal a lot less painfull.
Removing the vfsmount from struct vfs_intent sounds like a bad idea to
me. (dentry, vfsmount) pairs should be kept together; this makes it much
more obvious what's going on.
The idea of struct vfs_lookup is not a filesystem level abstraction and
information hiding mechanism, it is to be able to pass on a lookup
result to the vfs more easily. The vfsmount is definitely part of that
result. Cleaning up atomic create + open should be mostly independent of
Attached are patches that introduce pathput() and pathget(). Those are
further cleanups which depend on the struct path in the nameidata /