fstests.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET 0/5] xfstests: establish baseline for fuzz tests
       [not found] <20201231223847.GI6918@magnolia>
@ 2020-12-31 22:48 ` Darrick J. Wong
  2020-12-31 22:48 ` [PATCHSET 00/15] xfstests: improve xfs fuzzing Darrick J. Wong
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2020-12-31 22:48 UTC (permalink / raw)
  To: darrick.wong, guaneryu; +Cc: linux-xfs, fstests

Hi all,

Establish a baseline golden output for the fuzz tests.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This is an extraordinary way to destroy everything.  Enjoy!
Comments and questions are, as always, welcome.

--D

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=fuzz-baseline
---
 tests/xfs/1554     |   51 ++++
 tests/xfs/1554.out |  392 +++++++++++++++++++++++++++++++
 tests/xfs/1555     |   51 ++++
 tests/xfs/1555.out |   41 +++
 tests/xfs/1556     |   51 ++++
 tests/xfs/1556.out |   10 +
 tests/xfs/1557     |   51 ++++
 tests/xfs/1557.out |   89 +++++++
 tests/xfs/1558     |   51 ++++
 tests/xfs/1558.out |   18 +
 tests/xfs/1559     |   51 ++++
 tests/xfs/1559.out |   10 +
 tests/xfs/350.out  |  133 ++++++++++
 tests/xfs/351.out  |   68 +++++
 tests/xfs/353.out  |  114 +++++++++
 tests/xfs/354.out  |   93 +++++++
 tests/xfs/355.out  |   49 ++++
 tests/xfs/356.out  |   13 +
 tests/xfs/357.out  |  131 ++++++++++
 tests/xfs/358.out  |    5 
 tests/xfs/360.out  |   30 ++
 tests/xfs/361.out  |   14 +
 tests/xfs/362.out  |    5 
 tests/xfs/364.out  |    2 
 tests/xfs/366.out  |    2 
 tests/xfs/368.out  |   11 +
 tests/xfs/369.out  |  190 +++++++++++++++
 tests/xfs/370.out  |  330 ++++++++++++++++++++++++++
 tests/xfs/372.out  |    6 
 tests/xfs/373.out  |   75 ++++++
 tests/xfs/374.out  |  114 +++++++++
 tests/xfs/375.out  |  217 +++++++++++++++++
 tests/xfs/376.out  |  104 ++++++++
 tests/xfs/377.out  |  204 ++++++++++++++++
 tests/xfs/378.out  |  101 ++++++++
 tests/xfs/379.out  |  195 +++++++++++++++
 tests/xfs/380.out  |    6 
 tests/xfs/382.out  |    4 
 tests/xfs/383.out  |    4 
 tests/xfs/384.out  |  122 ++++++++++
 tests/xfs/385.out  |  638 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/xfs/386.out  |   49 ++++
 tests/xfs/387.out  |  658 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/xfs/388.out  |  369 +++++++++++++++++++++++++++++
 tests/xfs/389.out  |  661 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/xfs/392.out  |   18 +
 tests/xfs/393.out  |    5 
 tests/xfs/394.out  |   12 +
 tests/xfs/398.out  |  158 ++++++++++++
 tests/xfs/399.out  |  242 +++++++++++++++++++
 tests/xfs/400.out  |  226 ++++++++++++++++++
 tests/xfs/401.out  |  275 ++++++++++++++++++++++
 tests/xfs/402.out  |    7 +
 tests/xfs/404.out  |   33 +++
 tests/xfs/405.out  |    5 
 tests/xfs/406.out  |   34 +++
 tests/xfs/407.out  |   28 ++
 tests/xfs/408.out  |  143 +++++++++++
 tests/xfs/409.out  |   16 +
 tests/xfs/410.out  |    6 
 tests/xfs/412.out  |  100 ++++++++
 tests/xfs/413.out  |  173 ++++++++++++++
 tests/xfs/414.out  |   98 ++++++++
 tests/xfs/415.out  |  238 +++++++++++++++++++
 tests/xfs/416.out  |   91 +++++++
 tests/xfs/417.out  |  233 ++++++++++++++++++
 tests/xfs/418.out  |  143 +++++++++++
 tests/xfs/425.out  |   90 +++++++
 tests/xfs/426.out  |   65 +++++
 tests/xfs/427.out  |   90 +++++++
 tests/xfs/428.out  |   65 +++++
 tests/xfs/429.out  |   90 +++++++
 tests/xfs/430.out  |   65 +++++
 tests/xfs/453.out  |  169 +++++++++++++
 tests/xfs/454.out  |   99 ++++++++
 tests/xfs/455.out  |  135 +++++++++++
 tests/xfs/456.out  |  132 ++++++++++
 tests/xfs/457.out  |    5 
 tests/xfs/458.out  |   44 +++
 tests/xfs/459.out  |    5 
 tests/xfs/460.out  |    9 +
 tests/xfs/461.out  |    2 
 tests/xfs/462.out  |   12 +
 tests/xfs/463.out  |  351 ++++++++++++++++++++++++++++
 tests/xfs/464.out  |   81 ++++++
 tests/xfs/465.out  |  267 +++++++++++++++++++++
 tests/xfs/466.out  |  249 ++++++++++++++++++++
 tests/xfs/467.out  |  242 +++++++++++++++++++
 tests/xfs/469.out  |    8 +
 tests/xfs/470.out  |  287 +++++++++++++++++++++++
 tests/xfs/471.out  |   22 ++
 tests/xfs/472.out  |   23 ++
 tests/xfs/474.out  |   20 ++
 tests/xfs/475.out  |    6 
 tests/xfs/477.out  |  337 +++++++++++++++++++++++++++
 tests/xfs/478.out  |  492 +++++++++++++++++++++++++++++++++++++++
 tests/xfs/479.out  |    7 +
 tests/xfs/480.out  |   24 ++
 tests/xfs/481.out  |   32 +++
 tests/xfs/482.out  |  142 +++++++++++
 tests/xfs/483.out  |    6 
 tests/xfs/484.out  |  239 +++++++++++++++++++
 tests/xfs/485.out  |  224 ++++++++++++++++++
 tests/xfs/486.out  |  235 ++++++++++++++++++
 tests/xfs/487.out  |  137 +++++++++++
 tests/xfs/488.out  |  137 +++++++++++
 tests/xfs/489.out  |  137 +++++++++++
 tests/xfs/496.out  |   24 ++
 tests/xfs/498.out  |   12 +
 tests/xfs/713.out  |   14 +
 tests/xfs/group    |    6 
 111 files changed, 12704 insertions(+), 1 deletion(-)
 create mode 100755 tests/xfs/1554
 create mode 100644 tests/xfs/1554.out
 create mode 100755 tests/xfs/1555
 create mode 100644 tests/xfs/1555.out
 create mode 100755 tests/xfs/1556
 create mode 100644 tests/xfs/1556.out
 create mode 100755 tests/xfs/1557
 create mode 100644 tests/xfs/1557.out
 create mode 100755 tests/xfs/1558
 create mode 100644 tests/xfs/1558.out
 create mode 100755 tests/xfs/1559
 create mode 100644 tests/xfs/1559.out


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

* [PATCHSET 00/15] xfstests: improve xfs fuzzing
       [not found] <20201231223847.GI6918@magnolia>
  2020-12-31 22:48 ` [PATCHSET 0/5] xfstests: establish baseline for fuzz tests Darrick J. Wong
@ 2020-12-31 22:48 ` Darrick J. Wong
  2020-12-31 22:48 ` [PATCHSET 0/2] xfstests: strengthen fuzz testing Darrick J. Wong
  2020-12-31 22:48 ` [PATCHSET 0/3] common/dm*: support external log and rt devices Darrick J. Wong
  3 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2020-12-31 22:48 UTC (permalink / raw)
  To: darrick.wong, guaneryu; +Cc: linux-xfs, fstests

Hi all,

There are a ton of improvements to the XFS fuzzing code in this update.
We start by disabling by default two parts of the fuzz testing that
don't lead to predictable golden output: fuzzing with the 'random' verb,
and fuzzing the 'LSN' field.

Next, we refactor the inner fuzzing loop so that each of the four repair
strategies are broken out into separate functions, as well as the
post-repair attempts to modify the filesystem.

The next five patches after that modify each of the functions that we
split out in the previous patches to make what those functions do much
more clear.  We also revise the strategies a bit so that they more
accurately reflect the intended usage patterns of the repair programs.

Next, we strengthen other parts of the fuzzing -- we make the
post-repair modification exercises a bit more strenuous, add an
evaluation of xfs_check vs. xfs_repair, and make it possible to check
the xfs health reporting system.

Finally, we improve the array handling of the xfs fuzz tests so that we
actually know about array indices as a first class concept, instead of
the current mucking around we do with regular expressions.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This is an extraordinary way to destroy everything.  Enjoy!
Comments and questions are, as always, welcome.

--D

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=fuzzer-improvements
---
 common/fuzzy  |  461 +++++++++++++++++++++++++++++++++++++++++++--------------
 common/xfs    |   38 +++++
 tests/xfs/357 |    2 
 3 files changed, 386 insertions(+), 115 deletions(-)


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

* [PATCHSET 0/2] xfstests: strengthen fuzz testing
       [not found] <20201231223847.GI6918@magnolia>
  2020-12-31 22:48 ` [PATCHSET 0/5] xfstests: establish baseline for fuzz tests Darrick J. Wong
  2020-12-31 22:48 ` [PATCHSET 00/15] xfstests: improve xfs fuzzing Darrick J. Wong
@ 2020-12-31 22:48 ` Darrick J. Wong
  2020-12-31 22:48 ` [PATCHSET 0/3] common/dm*: support external log and rt devices Darrick J. Wong
  3 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2020-12-31 22:48 UTC (permalink / raw)
  To: darrick.wong, guaneryu; +Cc: linux-xfs, fstests

Hi all,

Add new fuzz tests to try the "online then offline" repair strategy.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This is an extraordinary way to destroy everything.  Enjoy!
Comments and questions are, as always, welcome.

--D

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=more-fuzz-testing
---
 tests/xfs/1500     |   46 +++++
 tests/xfs/1500.out |  173 ++++++++++++++++++
 tests/xfs/1501     |   46 +++++
 tests/xfs/1501.out |  117 ++++++++++++
 tests/xfs/1502     |   51 +++++
 tests/xfs/1502.out |  148 +++++++++++++++
 tests/xfs/1503     |   46 +++++
 tests/xfs/1503.out |  156 ++++++++++++++++
 tests/xfs/1504     |   46 +++++
 tests/xfs/1504.out |    9 +
 tests/xfs/1505     |   46 +++++
 tests/xfs/1505.out |   48 +++++
 tests/xfs/1506     |   46 +++++
 tests/xfs/1506.out |    9 +
 tests/xfs/1507     |   46 +++++
 tests/xfs/1507.out |    4 
 tests/xfs/1508     |   47 +++++
 tests/xfs/1508.out |    6 +
 tests/xfs/1509     |   47 +++++
 tests/xfs/1509.out |  254 ++++++++++++++++++++++++++
 tests/xfs/1510     |   47 +++++
 tests/xfs/1510.out |  355 +++++++++++++++++++++++++++++++++++++
 tests/xfs/1511     |   48 +++++
 tests/xfs/1511.out |   85 +++++++++
 tests/xfs/1512     |   51 +++++
 tests/xfs/1512.out |  309 ++++++++++++++++++++++++++++++++
 tests/xfs/1513     |   51 +++++
 tests/xfs/1513.out |  301 +++++++++++++++++++++++++++++++
 tests/xfs/1514     |   51 +++++
 tests/xfs/1514.out |  289 ++++++++++++++++++++++++++++++
 tests/xfs/1515     |   53 ++++++
 tests/xfs/1515.out |    5 +
 tests/xfs/1516     |   51 +++++
 tests/xfs/1516.out |   13 +
 tests/xfs/1517     |   51 +++++
 tests/xfs/1517.out |  416 +++++++++++++++++++++++++++++++++++++++++++
 tests/xfs/1518     |   51 +++++
 tests/xfs/1518.out |  179 +++++++++++++++++++
 tests/xfs/1519     |   52 +++++
 tests/xfs/1519.out |  262 +++++++++++++++++++++++++++
 tests/xfs/1520     |   53 ++++++
 tests/xfs/1520.out |    5 +
 tests/xfs/1521     |   53 ++++++
 tests/xfs/1521.out |   25 +++
 tests/xfs/1522     |   53 ++++++
 tests/xfs/1522.out |   11 +
 tests/xfs/1523     |   53 ++++++
 tests/xfs/1523.out |    5 +
 tests/xfs/1524     |   51 +++++
 tests/xfs/1524.out |  381 ++++++++++++++++++++++++++++++++++++++++
 tests/xfs/1525     |   51 +++++
 tests/xfs/1525.out |  501 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/xfs/1526     |   51 +++++
 tests/xfs/1526.out |   12 +
 tests/xfs/1527     |   51 +++++
 tests/xfs/1527.out |   29 +++
 tests/xfs/1528     |   50 +++++
 tests/xfs/1528.out |   20 ++
 tests/xfs/1529     |   48 +++++
 tests/xfs/1529.out |  146 +++++++++++++++
 tests/xfs/1530     |   48 +++++
 tests/xfs/1530.out |   10 +
 tests/xfs/1531     |   51 +++++
 tests/xfs/1531.out |  271 ++++++++++++++++++++++++++++
 tests/xfs/1532     |   51 +++++
 tests/xfs/1532.out |  291 ++++++++++++++++++++++++++++++
 tests/xfs/1533     |   51 +++++
 tests/xfs/1533.out |  300 +++++++++++++++++++++++++++++++
 tests/xfs/1534     |   49 +++++
 tests/xfs/1534.out |  141 +++++++++++++++
 tests/xfs/1535     |   49 +++++
 tests/xfs/1535.out |  141 +++++++++++++++
 tests/xfs/1536     |   49 +++++
 tests/xfs/1536.out |  141 +++++++++++++++
 tests/xfs/1537     |   52 +++++
 tests/xfs/1537.out |   17 ++
 tests/xfs/1560     |   52 +++++
 tests/xfs/1560.out |  220 +++++++++++++++++++++++
 tests/xfs/1561     |   52 +++++
 tests/xfs/1561.out |   20 ++
 tests/xfs/group    |   40 ++++
 81 files changed, 7856 insertions(+)
 create mode 100755 tests/xfs/1500
 create mode 100644 tests/xfs/1500.out
 create mode 100755 tests/xfs/1501
 create mode 100644 tests/xfs/1501.out
 create mode 100755 tests/xfs/1502
 create mode 100644 tests/xfs/1502.out
 create mode 100755 tests/xfs/1503
 create mode 100644 tests/xfs/1503.out
 create mode 100755 tests/xfs/1504
 create mode 100644 tests/xfs/1504.out
 create mode 100755 tests/xfs/1505
 create mode 100644 tests/xfs/1505.out
 create mode 100755 tests/xfs/1506
 create mode 100644 tests/xfs/1506.out
 create mode 100755 tests/xfs/1507
 create mode 100644 tests/xfs/1507.out
 create mode 100755 tests/xfs/1508
 create mode 100644 tests/xfs/1508.out
 create mode 100755 tests/xfs/1509
 create mode 100644 tests/xfs/1509.out
 create mode 100755 tests/xfs/1510
 create mode 100644 tests/xfs/1510.out
 create mode 100755 tests/xfs/1511
 create mode 100644 tests/xfs/1511.out
 create mode 100755 tests/xfs/1512
 create mode 100644 tests/xfs/1512.out
 create mode 100755 tests/xfs/1513
 create mode 100644 tests/xfs/1513.out
 create mode 100755 tests/xfs/1514
 create mode 100644 tests/xfs/1514.out
 create mode 100755 tests/xfs/1515
 create mode 100644 tests/xfs/1515.out
 create mode 100755 tests/xfs/1516
 create mode 100644 tests/xfs/1516.out
 create mode 100755 tests/xfs/1517
 create mode 100644 tests/xfs/1517.out
 create mode 100755 tests/xfs/1518
 create mode 100644 tests/xfs/1518.out
 create mode 100755 tests/xfs/1519
 create mode 100644 tests/xfs/1519.out
 create mode 100755 tests/xfs/1520
 create mode 100644 tests/xfs/1520.out
 create mode 100755 tests/xfs/1521
 create mode 100644 tests/xfs/1521.out
 create mode 100755 tests/xfs/1522
 create mode 100644 tests/xfs/1522.out
 create mode 100755 tests/xfs/1523
 create mode 100644 tests/xfs/1523.out
 create mode 100755 tests/xfs/1524
 create mode 100644 tests/xfs/1524.out
 create mode 100755 tests/xfs/1525
 create mode 100644 tests/xfs/1525.out
 create mode 100755 tests/xfs/1526
 create mode 100644 tests/xfs/1526.out
 create mode 100755 tests/xfs/1527
 create mode 100644 tests/xfs/1527.out
 create mode 100755 tests/xfs/1528
 create mode 100644 tests/xfs/1528.out
 create mode 100755 tests/xfs/1529
 create mode 100644 tests/xfs/1529.out
 create mode 100755 tests/xfs/1530
 create mode 100644 tests/xfs/1530.out
 create mode 100755 tests/xfs/1531
 create mode 100644 tests/xfs/1531.out
 create mode 100755 tests/xfs/1532
 create mode 100644 tests/xfs/1532.out
 create mode 100755 tests/xfs/1533
 create mode 100644 tests/xfs/1533.out
 create mode 100755 tests/xfs/1534
 create mode 100644 tests/xfs/1534.out
 create mode 100755 tests/xfs/1535
 create mode 100644 tests/xfs/1535.out
 create mode 100755 tests/xfs/1536
 create mode 100644 tests/xfs/1536.out
 create mode 100755 tests/xfs/1537
 create mode 100644 tests/xfs/1537.out
 create mode 100755 tests/xfs/1560
 create mode 100644 tests/xfs/1560.out
 create mode 100755 tests/xfs/1561
 create mode 100644 tests/xfs/1561.out


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

* [PATCHSET 0/3] common/dm*: support external log and rt devices
       [not found] <20201231223847.GI6918@magnolia>
                   ` (2 preceding siblings ...)
  2020-12-31 22:48 ` [PATCHSET 0/2] xfstests: strengthen fuzz testing Darrick J. Wong
@ 2020-12-31 22:48 ` Darrick J. Wong
  3 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2020-12-31 22:48 UTC (permalink / raw)
  To: darrick.wong, guaneryu; +Cc: linux-xfs, fstests

Hi all,

There are a growing number of fstests that examine what happens to a
filesystem when the block device underneath it goes offline.  Many of
them do this to simulate system crashes, and none of them (outside of
btrfs) can handle filesystems with multiple devices.  XFS is one of
those beasts that does, so enhance the dm-error and dm-flakey helpers to
take the log and rt devices offline when they're testing the data
device.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This is an extraordinary way to destroy everything.  Enjoy!
Comments and questions are, as always, welcome.

--D

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=dmerror-on-rt-devices
---
 common/dmerror    |  163 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 common/dmflakey   |  106 +++++++++++++++++++++++++++++++++-
 tests/generic/250 |    3 -
 tests/generic/252 |    3 -
 tests/generic/441 |    3 -
 tests/generic/484 |    3 -
 tests/generic/487 |    3 -
 7 files changed, 257 insertions(+), 27 deletions(-)


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

* [PATCHSET 0/3] common/dm*: support external log and rt devices
@ 2021-07-20  1:09 Darrick J. Wong
  0 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2021-07-20  1:09 UTC (permalink / raw)
  To: djwong, guaneryu; +Cc: linux-xfs, fstests, guan, tytso

Hi all,

There are a growing number of fstests that examine what happens to a
filesystem when the block device underneath it goes offline.  Many of
them do this to simulate system crashes, and none of them (outside of
btrfs) can handle filesystems with multiple devices.  XFS is one of
those beasts that does, so enhance the dm-error and dm-flakey helpers to
take the log and rt devices offline when they're testing the data
device.

If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.

This is an extraordinary way to destroy everything.  Enjoy!
Comments and questions are, as always, welcome.

--D

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=dmerror-on-rt-devices
---
 common/dmerror    |  190 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 common/dmflakey   |  106 +++++++++++++++++++++++++++++-
 src/dmerror       |   13 +---
 tests/generic/441 |    2 -
 tests/generic/487 |    2 -
 5 files changed, 289 insertions(+), 24 deletions(-)


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

end of thread, other threads:[~2021-07-20  1:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20201231223847.GI6918@magnolia>
2020-12-31 22:48 ` [PATCHSET 0/5] xfstests: establish baseline for fuzz tests Darrick J. Wong
2020-12-31 22:48 ` [PATCHSET 00/15] xfstests: improve xfs fuzzing Darrick J. Wong
2020-12-31 22:48 ` [PATCHSET 0/2] xfstests: strengthen fuzz testing Darrick J. Wong
2020-12-31 22:48 ` [PATCHSET 0/3] common/dm*: support external log and rt devices Darrick J. Wong
2021-07-20  1:09 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).