xfs
[Top] [All Lists]

Re: [PATCH 22/24] xfs: swap inode reflink flags when swapping inode exte

To: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>
Subject: Re: [PATCH 22/24] xfs: swap inode reflink flags when swapping inode extents
From: Josef 'Jeff' Sipek <jeffpc@xxxxxxxxxxxxxx>
Date: Sat, 1 Aug 2015 08:51:35 -0400
Cc: david@xxxxxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20150729223519.17414.25444.stgit@xxxxxxxxxxxxxxxx>
References: <20150729223258.17414.91354.stgit@xxxxxxxxxxxxxxxx> <20150729223519.17414.25444.stgit@xxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
On Wed, Jul 29, 2015 at 03:35:19PM -0700, Darrick J. Wong wrote:
> When we're swapping the extents of two inodes, be sure to swap the
> reflink inode flag too.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> ---
>  fs/xfs/xfs_bmap_util.c |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> 
> diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c
> index 349a5a6..7bdec90 100644
> --- a/fs/xfs/xfs_bmap_util.c
> +++ b/fs/xfs/xfs_bmap_util.c
> @@ -1929,6 +1929,11 @@ xfs_swap_extents(
>               break;
>       }
>  
> +     if (xfs_is_reflink_inode(ip)) {
> +             tip->i_d.di_flags2 |= XFS_DIFLAG2_REFLINK;
> +             ip->i_d.di_flags2 &= ~XFS_DIFLAG2_REFLINK;

Are you guaranteed that the temp inode does not have the flag set to begin
with?  This doesn't swap, but rather moves over the flag one way, and clears
it the other way.

Jeff.

> +     }
> +
>       xfs_trans_log_inode(tp, ip,  src_log_flags);
>       xfs_trans_log_inode(tp, tip, target_log_flags);
>  
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

-- 
Si hoc legere scis nimium eruditionis habes.

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [PATCH 22/24] xfs: swap inode reflink flags when swapping inode extents, Josef 'Jeff' Sipek <=