linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFCv3 00/12] xfstests: test the btrfs/xfs reflink/dedupe ioctls
@ 2015-10-07  5:12 Darrick J. Wong
  2015-10-07  5:13 ` [PATCH 01/12] xfs: fix merge errors in fuzzer tests Darrick J. Wong
                   ` (13 more replies)
  0 siblings, 14 replies; 22+ messages in thread
From: Darrick J. Wong @ 2015-10-07  5:12 UTC (permalink / raw)
  To: david, darrick.wong; +Cc: fstests, linux-ext4, Anna.Schumaker, linux-btrfs, xfs

Hi all,

This is part of the third revision of an RFC for adding to XFS support
for tracking reverse-mappings of physical blocks to file and metadata;
and support for mapping multiple file logical blocks to the same
physical block, more commonly known as reflinking.

This patchset aims to make xfstests perform more rigorous testing of
the btrfs/XFS file clone, reflink, and dedupe ioctls.  There are now
tests of the basic functionality of the three ioctls; tests to ensure
that the filesystem exhibits the expected copy on write semantics;
tests to try to suss out race conditions in the new write paths; tests
to ensure that the ioctls peform basic disk accounting correctly;
tests of the interaction between reflink and the various fallocate
verbs (allocate, punch, collapse, insert zeroes); and some attempts to
test the upper limits of reflinking and ENOSPC behavior.  The tests
have been totally rewritten since the last posting to drop FIEMAP
usage; this should enable the tests to cover NFS and CIFS.

Issues: 

 * I think the race checks for dedupe could be a little sharper at
   finding mistakes.

 * I started the numbering really high to prevent the tests from
   colliding with whatever new tests might arrive; this will require
   some intervention to fix.

 * I don't have any interesting NFS/CIFS setups for test. :(

If you're going to start using this mess, you probably ought to just
pull from my github trees for kernel[1], xfsprogs[2], and xfstests[3].
They should just work with the btrfs that's in 4.3.

Comments and questions are, as always, welcome.

--D

[1] https://github.com/djwong/linux-xfs-dev/commits/master
[2] https://github.com/djwong/xfsprogs/commits/for-next
[3] https://github.com/djwong/xfstests/commits/master

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 22+ messages in thread
* [RFCv3.2 00/12] xfstests: test the nfs/cifs/btrfs/xfs reflink/dedupe ioctls
@ 2015-11-13 21:36 Darrick J. Wong
  2015-11-13 21:36 ` [PATCH 02/12] btrfs: move btrfs reflink tests to generic Darrick J. Wong
  0 siblings, 1 reply; 22+ messages in thread
From: Darrick J. Wong @ 2015-11-13 21:36 UTC (permalink / raw)
  To: david, darrick.wong
  Cc: fstests, xfs, hch, tao.peng, linux-ext4, Anna.Schumaker,
	linux-btrfs

Hi all,

This is part of the third revision of an RFC for adding to XFS support
for tracking reverse-mappings of physical blocks to file and metadata;
and support for mapping multiple file logical blocks to the same
physical block, more commonly known as reflinking.

This patchset aims to make xfstests perform more rigorous testing of
the NFS/CIFS/btrfs/XFS file clone, reflink, and dedupe ioctls.
There are now tests of the basic functionality of the three ioctls;
tests to ensure that the filesystem exhibits the expected copy on
write semantics; tests to try to suss out race conditions in the new
write paths; tests to ensure that the ioctls peform basic disk
accounting correctly; tests of the interaction between reflink and the
various fallocate verbs (allocate, punch, collapse, insert zeroes);
and some attempts to test the upper limits of reflinking and ENOSPC
behavior.

Since the last posting, each test tries to reflink (or dedupe) on the
test or scratch FS to decide if they're going to run, instead of
guessing based on FS type.  Per Dave's suggestion, I also converted
the basic functionality tests to use fixed sizes so that I can use
md5sum in the golden output to check that the file contents match
exactly.

Since "RFCv3.1", I've made the following changes:

 * Renumbered the tests to the lowest numbers possible, per Dave's
   request.

 * Fixed the reflink and dedupe _require tests so that they can run
   on things like NFS which support reflink but not dedupe.

 * Added checks for lsattr/chattr support so that we don't produce
   bogus failures on NFS, and put the *attr tests in separate test
   files.

 * Appended a couple of tools I wrote to handle finding minimal test
   numbers and moving tests around.

If you're going to start using this mess, you probably ought to just
pull from my github trees for kernel[1], xfsprogs[2], xfstests[3], and
xfs-docs[4].  They should just work with the btrfs that's in 4.3...
and somewhat buggily with the 4.3 XFS patched with [1].

Comments and questions are, as always, welcome.

--D

[1] https://github.com/djwong/linux/tree/for-dave
[2] https://github.com/djwong/xfsprogs/tree/for-dave
[3] https://github.com/djwong/xfstests/tree/for-dave
[4] https://github.com/djwong/xfs-documentation/tree/for-dave

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

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

end of thread, other threads:[~2015-11-13 21:36 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-07  5:12 [RFCv3 00/12] xfstests: test the btrfs/xfs reflink/dedupe ioctls Darrick J. Wong
2015-10-07  5:13 ` [PATCH 01/12] xfs: fix merge errors in fuzzer tests Darrick J. Wong
2015-10-07  5:13 ` [PATCH 02/12] btrfs: move btrfs reflink tests to generic Darrick J. Wong
2015-10-07  5:13 ` [PATCH 03/12] generic/80[0-2]: support xfs in addition to btrfs Darrick J. Wong
2015-10-15  9:19   ` Christoph Hellwig
2015-10-15 14:41     ` Darrick J. Wong
2015-10-07  5:13 ` [PATCH 04/12] reflink: basic tests of the reflink and dedupe ioctls Darrick J. Wong
2015-10-07  5:13 ` [PATCH 05/12] reflink: test CoW behaviors of reflinked files Darrick J. Wong
2015-10-07  5:13 ` [PATCH 06/12] reflink: test the various fallocate modes Darrick J. Wong
2015-10-07  5:13 ` [PATCH 07/12] reflink: concurrent operations tests Darrick J. Wong
2015-10-07  5:13 ` [PATCH 08/12] reflink: test accuracy of free block counts Darrick J. Wong
2015-10-07  5:14 ` [PATCH 09/12] reflink: test error conditions due to bad inputs Darrick J. Wong
2015-10-07  5:14 ` [PATCH 10/12] xfs: test xfs-specific reflink pieces Darrick J. Wong
2015-10-07  5:14 ` [PATCH 11/12] reflink: test what happens when we hit resource limits Darrick J. Wong
2015-10-07  5:14 ` [PATCH 12/12] reflink: test that CoW writes fail when we're out of space Darrick J. Wong
     [not found] ` <9163f8156b2742a0b003ba9fa0a26258@nebula-exfe-01.nebula.local>
2015-10-08 12:33   ` [PATCH 03/12] generic/80[0-2]: support xfs in addition to btrfs Ari Sundholm
2015-10-09 18:58     ` Darrick J. Wong
2015-11-09  7:59 ` [RFCv3 00/12] xfstests: test the btrfs/xfs reflink/dedupe ioctls Christoph Hellwig
2015-11-09 18:49   ` Darrick J. Wong
2015-11-11 13:56     ` Christoph Hellwig
2015-11-12  0:41     ` Dave Chinner
  -- strict thread matches above, loose matches on Subject: below --
2015-11-13 21:36 [RFCv3.2 00/12] xfstests: test the nfs/cifs/btrfs/xfs " Darrick J. Wong
2015-11-13 21:36 ` [PATCH 02/12] btrfs: move btrfs reflink tests to generic Darrick J. Wong

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).