xfs
[Top] [All Lists]

Re: [PATCH 1/7] xfs: fix dentry aliasing issues in open_by_handle

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 1/7] xfs: fix dentry aliasing issues in open_by_handle
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 14 Jan 2009 12:57:16 +1100
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20090112153934.GA28382@xxxxxxxxxxxxx>
Mail-followup-to: Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
References: <20090109221104.237540000@xxxxxxxxxxxxxxxxxxxxxx> <20090109221259.292773000@xxxxxxxxxxxxxxxxxxxxxx> <20090111233306.GH8071@disturbed> <20090112153934.GA28382@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.18 (2008-05-17)
On Mon, Jan 12, 2009 at 10:39:34AM -0500, Christoph Hellwig wrote:
> On Mon, Jan 12, 2009 at 10:33:06AM +1100, Dave Chinner wrote:
> > That should probably be namespaced correctly because it won't be
> > static on debug builds. i.e.  xfs_handle_acceptable()
> 
> Ok.
> 
> > The args in this function are back to front compared to all the
> > other functions - the others are (filp, arg), this one is the
> > opposite.
> 
> Yeah, I first had all this way and then changed it around to match
> the non-handle ioctls more closely but forgot this one.
> 
> Updated patch below:
> 
> ---
> 
> Subject: xfs: fix dentry aliasing issues in open_by_handle
> From: Christoph Hellwig <hch@xxxxxx>
> 
> Open by handle just grabs an inode by handle and then creates itself
> a dentry for it.  While this works for regular files it is horribly
> broken for directories, where the VFS locking relies on the fact that
> there is only just one single dentry for a given inode, and that
> these are always connected to the root of the filesystem so that
> it's locking algorithms work (see Documentations/filesystems/Locking)
> 
> Remove all the existing open by handle code and replace it with a small
> wrapper around the exportfs code which deals with all these issues.
> At the same time we also make the checks for a valid handle strict
> enough to reject all not perfectly well formed handles - given that
> we never hand out others that's okay and simplifies the code.
> 
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Reviewed-by: Dave Chinner <david@xxxxxxxxxxxxx>

-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>