[PATCH 047/119] xfs: disable XFS_IOC_SWAPEXT when rmap btree is enabled

Darrick J. Wong darrick.wong at oracle.com
Mon Jul 18 11:18:25 CDT 2016


On Mon, Jul 18, 2016 at 09:34:28AM -0400, Brian Foster wrote:
> On Thu, Jun 16, 2016 at 06:22:53PM -0700, Darrick J. Wong wrote:
> > Swapping extents between two inodes requires the owner to be updated
> > in the rmap tree for all the extents that are swapped. This code
> > does not yet exist, so switch off the XFS_IOC_SWAPEXT ioctl until
> > support has been implemented. This will need to be done before the
> > rmap btree code can have the experimental tag removed.

"This functionality will be provided in a (much) later patch, as the rmap
implementation uses a few parts of the reflink functionality to accomplish its
means."

> > Signed-off-by: Dave Chinner <dchinner at redhat.com>
> > [darrick.wong at oracle.com: fix extent swapping when rmap enabled]

"[darrick: update commit log]"

--D

> > Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
> > ---
> 
> Reviewed-by: Brian Foster <bfoster at redhat.com>
> 
> >  fs/xfs/xfs_bmap_util.c |    4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > 
> > diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c
> > index 450fd49..8666873 100644
> > --- a/fs/xfs/xfs_bmap_util.c
> > +++ b/fs/xfs/xfs_bmap_util.c
> > @@ -1618,6 +1618,10 @@ xfs_swap_extents(
> >  	__uint64_t	tmp;
> >  	int		lock_flags;
> >  
> > +	/* XXX: we can't do this with rmap, will fix later */
> > +	if (xfs_sb_version_hasrmapbt(&mp->m_sb))
> > +		return -EOPNOTSUPP;
> > +
> >  	tempifp = kmem_alloc(sizeof(xfs_ifork_t), KM_MAYFAIL);
> >  	if (!tempifp) {
> >  		error = -ENOMEM;
> > 
> > _______________________________________________
> > xfs mailing list
> > xfs at oss.sgi.com
> > http://oss.sgi.com/mailman/listinfo/xfs



More information about the xfs mailing list