linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] xfs: more reflink fixes
@ 2017-12-15 17:11 Darrick J. Wong
  2017-12-15 17:11 ` [PATCH 1/4] xfs: track cowblocks separately in i_flags Darrick J. Wong
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Darrick J. Wong @ 2017-12-15 17:11 UTC (permalink / raw)
  To: darrick.wong; +Cc: linux-xfs

Hi all,

Here are more reflink fixes that I've accumulated over the past week.
I added CLONERANGE support to fsstress and reran xfstests, which very
rapidly found problems.  This series fixes a number of problems dug up
by xfs/017.

The first two patches disentangle a mess between the incore inode radix
tree tags and the corresponding inode flags.  We use the inode eofblocks
flags as a proxy for whether or not the same eofblocks tag is set for
the radix tree, which means that we can't use that single iflag to
represent the cowblocks radix tree tag, so give the cowblocks tag a
corresponding inode flag.  This fixes a bug where the cowblocks tag
silently isn't set if the inode already had the eofblocks tag set.

The second patch then fixes the clearing of the cow tag & reflink flag
when truncating the file -- we only want to clear the reflink flag if
both data & cow forks are empty, and we can only clear the cow tag if
the cow fork is totally empty; i_cnextents only tracks real extents.

The third patch flushes all the cow reservations when we remount the
filesystem ro, to put the fs in a clean quiesced state (i.e. no orphaned
cow staging extents) so that we can reduce mount times later.

The fourth patch sets the cow tag when we do direct allocations into the
cow fork so that any hint-aligned remnants are cleaned out at remount-ro
time.

These patches apply directly to the end of 'xfs: reflink fixes'.

--D

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-12-21 13:39 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-15 17:11 [PATCH 0/4] xfs: more reflink fixes Darrick J. Wong
2017-12-15 17:11 ` [PATCH 1/4] xfs: track cowblocks separately in i_flags Darrick J. Wong
2017-12-19  0:12   ` Dave Chinner
2017-12-21 13:36   ` Christoph Hellwig
2017-12-15 17:11 ` [PATCH 2/4] xfs: don't be so eager to clear the cowblocks tag on truncate Darrick J. Wong
2017-12-19  0:12   ` Dave Chinner
2017-12-21 13:37   ` Christoph Hellwig
2017-12-15 17:11 ` [PATCH 3/4] xfs: remove leftover CoW reservations when remounting ro Darrick J. Wong
2017-12-19  0:17   ` Dave Chinner
2017-12-19  3:49     ` Darrick J. Wong
2017-12-19  4:37       ` Dave Chinner
2017-12-19  4:53         ` Darrick J. Wong
2017-12-19  6:46           ` Dave Chinner
2017-12-19 19:00             ` Darrick J. Wong
2017-12-19 20:55               ` Dave Chinner
2017-12-19 21:08   ` [PATCH v2 " Darrick J. Wong
2017-12-21 13:38     ` Christoph Hellwig
2017-12-15 17:11 ` [PATCH 4/4] xfs: set cowblocks tag for direct cow writes too Darrick J. Wong
2017-12-19  0:18   ` Dave Chinner
2017-12-21 13:39   ` Christoph Hellwig
2017-12-19 21:09 ` [PATCH 5/4] xfs: clean up cow mappings during fs data freeze Darrick J. Wong
2017-12-21 13:39   ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).