Re: [RFC][PATCH] fstests: regression test for xfs leftover CoW extent error

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Sun, Sep 03, 2017 at 08:21:33PM +0200, Christoph Hellwig wrote:
> > So basically there are two bugs here -- the fcollapse/finsert code needs
> > to shift the CoW fork extents down and up;
> 
> Or make sure that we don't have any extents in the COW fork?

It's a big hammer approach, but yes that'd work.

We're already forcing all the dirty pages out anyway so I guess it's no
big deal.

> > diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
> > index 9207d61..ae3b18f 100644
> > --- a/fs/xfs/xfs_inode.c
> > +++ b/fs/xfs/xfs_inode.c
> > @@ -1625,7 +1625,7 @@ xfs_itruncate_extents(
> >         /*
> >          * Clear the reflink flag if we truncated everything.
> >          */
> > -       if (ip->i_d.di_nblocks == 0 && xfs_is_reflink_inode(ip)) {
> > +       if (ip->i_d.di_nblocks == 0 && ip->i_cnextents == 0 && xfs_is_reflink_inode(ip)) {
> 
> Btw, it seems like we should generally clear the reflink flag and
> tag if ip->i_cnextents is zero and not even bother looking at di_nblocks.

We can't -- imagine shortening to 8k a reflinked 12k file that hasn't been
written to.  It has no cow extents, but we cannot drop the reflink flag.

--D

> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux