Re: [RFC PATCH 00/40] fstests: concurrent test execution

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



On Fri, Dec 06, 2024 at 04:09:17PM -0800, Darrick J. Wong wrote:
> On Fri, Nov 29, 2024 at 12:22:16PM +0800, Zorro Lang wrote:
> > On Wed, Nov 27, 2024 at 03:51:30PM +1100, Dave Chinner wrote:
> > > Hi folks,
> > > 
> > > This patchset introduces the ability to run fstests concurrently
> > > instead of serially as the current check script does. A git branch
> > > containing this patchset can be pulled from here:
> > > 
> > > https://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfstests-dev.git check-parallel
> > 
> > Hi Dave,
> > 
> > I've merged your "check-parallel" branch, and rebase on fstests'
> > patches-in-queue branch (which is nearly the next release). I just
> > pushed a new branch "for-dave-check-parallel" which fixed all
> > conflicts. It'll be "next next" release, feel free to update base
> > on that. I'll test that branch too :)
> 
> I ran this through my test infrastructure at zorro's request.  I saw a
> bunch of loop dev errors trickle out:
> 
> --- xfs/129.out
> +++ xfs/129.out.bad
> @@ -2,3 +2,6 @@
>  Create the original file blocks
>  Reflink every other block
>  Create metadump file, restore it and check restored fs
> +losetup: /dev/loop0: detach failed: No such device or address
> +Cannot destroy loop device /dev/loop0
> +(see /var/tmp/fstests/xfs/129.full for details)
> 
> and I noticed the runtimes for running serially went way up.  Not sure
> if that was because my dev tree has a bunch of metadir fixes in it or
> not; will run that again over the weekend with upstream tot to see if it
> that brings the total runtime back down.

Thanks Darrick! The "[PATCH] fstests: clean up loop device instantiation" does
below change [1], it looks different with your original code. You trys to check
[ -n "$XFS_METADUMP_IMG" ] before loop detaching, and you use a while loop
to do the loop detaching. Does this change break your original test?

Thanks,
Zorro

[1]
--- a/common/metadump
+++ b/common/metadump
@@ -24,17 +24,9 @@ _xfs_cleanup_verify_metadump()
 
        test -n "$XFS_METADUMP_FILE" && rm -f "$XFS_METADUMP_FILE"
 
-       if [ -n "$XFS_METADUMP_IMG" ]; then
-               losetup -n -a -O BACK-FILE,NAME | grep "^$XFS_METADUMP_IMG" | while read backing ldev; do
-                       losetup -d "$ldev"
-               done
-
-               # Don't call rm directly with a globbed argument here to avoid
-               # issues issues with variable expansions.
-               for img in "$XFS_METADUMP_IMG"*; do
-                       test -e "$img" && rm -f "$img"
-               done
-       fi
+       [ -n "$md_data_loop_dev" ] && _destroy_loop_device $md_data_loop_dev
+       [ -n "$md_log_loop_dev" ] && _destroy_loop_device $md_log_loop_dev
+       rm -f $data_img $log_img

> 
> --D
> 
> > Thanks,
> > Zorro
> > 
> > > 
> > > The motivation for this is the ever growing runtime of fstests as
> > > more tests are added, along with the extremely low resource usage of
> > > individual tests. This means that a typical machine running fstests
> > > is under-utilised and a single auto group test set execution takes
> > > hours.
> > > 
> > > Yes, I know that I could scale out testing by running lots of little
> > > VMs at once, and I already do that. The problem is that I don't get
> > > back a complete auto test run result for hours. Want to check that a
> > > one-line fix has not caused any regressions? That's, at minimum, an
> > > overnight wait for the test farm to crunch through a dozen configs.
> > > 
> > > On my 64p/128GB RAM VM, 'check -g auto -s xfs -x dump' typically
> > > takes around 230-240 minutes to run. With this patchset applied, it
> > > runs the same set of tests in 8-10 minutes. I can run ~25 complete
> > > auto group test sets with check-parallel in the same time it takes
> > > check to run one.
> > > 
> > > IOWs, I can have the most common config complete a full regression
> > > test run as fast as I can turn around a new kernel with a new change
> > > to test. I have CPU, memory and IO to burn in my test machines, but
> > > what I lack is instant feedback for the change I just made.
> > > check-parallel is fast enough that it gives me pretty much instant
> > > feedback....
> > > 
> > > Most of this patchset is preparing infrastructure for concurrent
> > > test execution and fixing bugs in tests that I've found whilst
> > > getting concurrent execution working reliably. The infrastructure
> > > changes center around:
> > > 
> > > - getting rid of killall - there's nothing quite like one test
> > >   killing the processes of 15 other tests at the same time...
> > > - cleaning up background process instantiation and reaping, which is
> > >   a lot more important when an interrupt needs to kill hundreds of
> > >   processes instead of just a couple.
> > > - isolating error reporting (e.g. dmesg filtering) so that one test
> > >   failure doesn't trigger lots of other false failure detections
> > > - sanitising the use of loopback devices
> > > - avoiding the use of fixed device names - multiple tests need to
> > >   use dm-flakey, dm-error, etc devices at the same time, so each
> > >   test needs a unique device name
> > > - marking tests that are unreliable when outside perturbations
> > >   occur. These include tests that expect to find delalloc extents,
> > >   write specific offset patterns in memory then sync them to create
> > >   specific layouts, etc. e.g. If another test runs sync(1), then
> > >   those write patterns no longer produce the expected output.
> > > - taming tests that weren't designed for high CPU count machines
> > > - replacing `udevadm settle` calls because udev is -never- idle when
> > >   there are tens to hundreds of block devices and filesystems being
> > >   rapidly set up and torn down.
> > > - converting sync(1) and sync(2) to syncfs(2) to avoid ihaving
> > >   hundreds of concurrent superblock list traversals lock-stepping
> > >   with multiple mount/unmounts every second.
> > > 
> > > There are lots of little other things, but those are the main test
> > > and test infrastructure changes. Some of these are big - the
> > > fsstress execution rework touches 105 files, but it now means that
> > > every single fsstress execution in fstests is controlled by 4 helper
> > > functions:
> > > 
> > > 	_run_fsstress()		- run fsstress synchronously
> > > 	_run_fsstress_bg	- run fsstress in background
> > > 	_wait_for_fsstress	- wait for background fsstress
> > > 	_kill_fsstress		- kill+wait for background fsstress
> > > 
> > > The test infrastructure also automatically handles cleanup of
> > > fsstress processes when the test is interrupted, so tests using
> > > fsstress don't need a custom _cleanup() function just to call
> > > _kill_fsstress(). This is something that should have been done a
> > > long time ago, but now it is critical for being able to manage
> > > multiple independent concurrent fsstress invocations sanely.
> > > 
> > > There are some tests that just can't be run reliably in a concurrent
> > > environment - if there is outside interference in, say, page cache
> > > flushing then the tests fail. These tests have been added to the
> > > "unreliable_in_parallel" test group with a comment explaining why
> > > they are unreliable. The check-parallel script automatically
> > > excludes this test group.
> > > 
> > > The only remaining set of tests that are somewhat flakey are the
> > > tests that exercise quotas. Quota tests randomly fail for various
> > > reasons. Sometimes they don't detect EDQUOT conditions. Sometimes
> > > repquota emits weird "device not found" errors. Sometimes grace
> > > periods don't start, sometimes they don't time out, or time out and
> > > then don't trigger EDQUOT. I don't know why these weird things are
> > > happening yet, and until I properly integrate test group selection
> > > into check-parallel I can't really isolate the quota tests to focus
> > > on them alone.
> > > 
> > > There are several patches that speed up test runtime. There were
> > > several tests that were taking 12-15 minutes to run each, and these
> > > made up >95% of the entire check-parallel runtime. In general, these
> > > tests have been made to run with more concurrency to speed them up.
> > > the result is that the longest individual test runtime has dropped
> > > to around 7 minutes, and the elapsed runtime for check-parallel has
> > > dropped to 8-10 minutes.
> > > 
> > > Hence there are 39 patches that are doing prep work on tests and
> > > infrastructure to make tests run reliabily in concurrent test
> > > contexts. The last patch is the check-parallel runner script that
> > > runs the tests concurrently.
> > > 
> > > The check-parallel script is still very rudimentary. I hard coded
> > > the tests it runs (generic+xfs auto tests) and the concurrency so
> > > that I could run explicit sets of tests with './check --exact-order
> > > <list>'. It is pointed at a mounted directory, and it creates all
> > > the infrastructure it needs to run the tests within that directory.
> > > 
> > > This enabled me to break up the tests across a set of identical
> > > runner process contexts. Each runner does:
> > > 
> > > - create runner directory
> > > - create test and scratch image files
> > > - create loopback devices for test and scratch devices
> > > - sets up results directories
> > > - execute check in it's own private mount namespace so it can't see
> > >   any of the mounts that other runners are using.
> > > - tears down loopback devices
> > > - reports test failures.
> > > 
> > > If you run with the same directory over and over again, then it
> > > reuses the same runner infrastructure and test and scratch image
> > > files. The results directories are not overwritten as they are
> > > date-stamped, hence using the same mount point automatically creates
> > > a result archive for later data mining.
> > > 
> > > A typical target directory (/mnt/xfs) looks like:
> > > 
> > > /mnt/xfs/runner-0/...
> > > /mnt/xfs/runner-1/...
> > > ....
> > > /mnt/xfs/runner-63/...
> > > 
> > > And each runner directory:
> > > 
> > > log
> > > results-2024-11-19-11:22:25/...
> > > results-2024-11-19-12:36:28/...
> > > .....
> > > results-2024-11-27-13:32:42/...
> > > scratch/
> > > scratch.img
> > > test/
> > > test.img
> > > 
> > > The log file is the check output for that runner and should look
> > > familiar:
> > > 
> > > SECTION       -- xfs
> > > FSTYP         -- xfs (debug)
> > > PLATFORM      -- Linux/x86_64 test1 6.12.0-dgc+ #297 SMP PREEMPT_DYNAMIC Wed Nov 27 08:13:06 AEDT 2024
> > > MKFS_OPTIONS  -- -f -m rmapbt=1 /dev/loop10
> > > MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/loop10 /mnt/xfs/runner-10/scratch
> > > 
> > > generic/387        309s
> > > generic/551        49s
> > > generic/289        2s
> > > xfs/274        3s
> > > generic/677        3s
> > > generic/143        5s
> > > generic/304        1s
> > > generic/390        4s
> > > generic/427        4s
> > > xfs/103        1s
> > > generic/252        3s
> > > xfs/045        1s
> > > generic/374        2s
> > > generic/002        1s
> > > generic/534        1s
> > > generic/039        1s
> > > generic/595       [not run] No encryption support for xfs
> > > xfs/122       [not run] Could not compile test program (see end of /mnt/xfs/runner-10/results-2024-11-27-13:32:42/xfs/xfs/122.full)
> > > xfs/556       [not run] xfs_scrub not found
> > > Ran: generic/387 generic/551 generic/289 xfs/274 generic/677 generic/143 generic/304 generic/390 generic/427 xfs/103 generic/252 xfs/045 generic/374 generic/002 generic/534 generic/039 generic/595 xfs/122 xfs/556
> > > Not run: generic/595 xfs/122 xfs/556
> > > Passed all 19 tests
> > > 
> > > SECTION       -- xfs
> > > =========================
> > > Ran: generic/387 generic/551 generic/289 xfs/274 generic/677 generic/143 generic/304 generic/390 generic/427 xfs/103 generic/252 xfs/045 generic/374 generic/002 generic/534 generic/039 generic/595 xfs/122 xfs/556
> > > Not run: generic/595 xfs/122 xfs/556
> > > Passed all 19 tests
> > > 
> > > Doing something with all the log files from a run can be done with
> > > "/mnt/xfs/*/log". e.g. grep, vi, etc.
> > > 
> > > The results directory contains the same check.{full,log,time} and
> > > test results directories as per a normal check invocation, so
> > > there's little difference in checking/analysing results with a
> > > parallel execution run.
> > > 
> > > Because the tests run in private mount namespaces, it's easy to see
> > > what check-parallel is running at any point in time using 'pstree -N
> > > mnt'. Here's a run that is hung on an unmount not completing:
> > > 
> > > $ pstree -N mnt
> > > [4026531841]
> > > bash
> > > bash───pstree
> > > [0]
> > > sudo───sudo───check-parallel─┬─check-parallel───nsexec───check───311───fsync-tester
> > >                              ├─check-parallel───nsexec───check───467───open_by_handle
> > >                              ├─check-parallel───nsexec───check───338
> > >                              ├─check-parallel───nsexec───check───421
> > >                              ├─check-parallel───nsexec───check───441
> > >                              ├─check-parallel───nsexec───check───232
> > >                              ├─check-parallel───nsexec───check───477───open_by_handle
> > >                              ├─check-parallel───nsexec───check───420
> > >                              ├─check-parallel───nsexec───check───426───open_by_handle
> > >                              ├─check-parallel───nsexec───check───756───open_by_handle
> > >                              ├─check-parallel───nsexec───check───231
> > >                              ├─check-parallel───nsexec───check───475───475.fsstress───475.fsstress───{475.fsstress}
> > >                              ├─check-parallel───nsexec───check───388───388.fsstress───388.fsstress───{388.fsstress}
> > >                              ├─check-parallel───nsexec───check───259───sync
> > >                              ├─check-parallel───nsexec───check───622───sync
> > >                              ├─check-parallel───nsexec───check───318───sync
> > >                              ├─check-parallel───nsexec───check───753───umount
> > >                              ├─check-parallel───nsexec───check───086
> > >                              ├─check-parallel───nsexec───check───648───648.fsstress───648.fsstress───{648.fsstress}
> > >                              ├─check-parallel───nsexec───check───391
> > >                              ├─check-parallel───nsexec───check───315───sync
> > >                              └─check-parallel───nsexec───check───183───bulkstat_unlink
> > > 
> > > All the other processes are in sync or dropping caches and stuck
> > > waiting for the superblock s_umount lock that the unmount holds.
> > > Finding where it is stuck:
> > > 
> > > $ pgrep [u]mount
> > > 1081885
> > > $ sudo cat /proc/1081885/stack
> > > [<0>] xfs_ail_push_all_sync+0x9c/0xf0
> > > [<0>] xfs_unmount_flush_inodes+0x41/0x70
> > > [<0>] xfs_unmountfs+0x59/0x190
> > > [<0>] xfs_fs_put_super+0x3b/0x90
> > > [<0>] generic_shutdown_super+0x77/0x160
> > > [<0>] kill_block_super+0x1b/0x40
> > > [<0>] xfs_kill_sb+0x12/0x30
> > > [<0>] deactivate_locked_super+0x38/0x100
> > > [<0>] deactivate_super+0x41/0x50
> > > [<0>] cleanup_mnt+0x9f/0x160
> > > [<0>] __cleanup_mnt+0x12/0x20
> > > [<0>] task_work_run+0x89/0xb0
> > > [<0>] resume_user_mode_work+0x4f/0x60
> > > [<0>] syscall_exit_to_user_mode+0x76/0xb0
> > > [<0>] do_syscall_64+0x74/0x130
> > > [<0>] entry_SYSCALL_64_after_hwframe+0x76/0x7e
> > > $
> > > 
> > > Yup, known bug - a shutdown vs XFS_ISTALE inode cluster freeing
> > > issue that leaves pinned, stale inodes in the AIL.
> > > 
> > > The point I'm making here is that running tests concurrently doesn't
> > > change anything material in how you'd go about discovering and
> > > diagnosing failures. The only difference is in what that initial
> > > failure might look like. e.g. Failures that result in dmesg output
> > > will cause a huge number of tests to all fail with "check dmesg for
> > > failure output" reports. Hence there is a bit of sifting to find
> > > which test triggered the dmesg output, but failure detection still
> > > works just fine.
> > > 
> > > The check-parallel script is really only at proof-of-concept stage.
> > > It is sufficient to run tests in parallel, but that's about it. most
> > > of the work so far has gone into making the generic and XFS tests
> > > run reliably in parallel. I have not run any other tests, and
> > > haven't done full conversions of other test directories or C code in
> > > src/. e.g. the sync -> syncfs was only done for the common dir and
> > > the generic and xfs tests dirs
> > > 
> > > I do not plan to do these conversions for ext4/btrfs/overlay/etc any
> > > time soon as these conversions are mostly about improving execution
> > > time, not test correctness. Hence they are not a priority for me -
> > > the priority is further developing the concurrent execution
> > > environment. i.e. check-parallel.
> > > 
> > > To that end, I need to factor all the test selection and exclusion
> > > code out of check, and do the same with the actual test list runner
> > > loop. That way I can reuse all the existing code from within the
> > > check-parallel context rather than having to call check to do all of
> > > that work itself. I would like to get check-parallel to the point
> > > where it is mostly just s/check/check-parallel/ on the command line
> > > to move from serial to concurrent test execution.
> > > 
> > > I also want to try to integrate the config section stuff into
> > > check-parallel. This is more a case of defining what devices the
> > > config needs to create (i.e. as loop devices) rather than what
> > > devices it should be using. I think I can do this just by defining a
> > > different set of environment variables (e.g. NEED_SCRATCHDEV,
> > > NEED_LOGDEV, etc) and triggering the loop device creation from these
> > > variables.
> > > 
> > > In a way, the fact that check-parallel bootstraps it's own runtime
> > > environment almost makes it entirely zero-config. As it stands right
> > > now, you should be able to pull this patchset, create your base test
> > > directory (make sure you have at least 100GB of free disk space),
> > > run './check-parallel <test_dir> -x dump' and it Should Just Work.
> > > 
> > > At this point, the test infrastructure problems are largely solved.
> > > My focus is now on further development of the check-parallel script
> > > and integrating it tightly into the existing check infrastructure
> > > rather than open-coding test lists and configuration information.
> > > This will probably take a bit of time, so I'd like to get the bug
> > > fixes, improvements and infrastructure changes underway so I'm not
> > > left carrying a huge patchset for months....
> > > 
> > > ----------------------------------------------------------------
> > > Dave Chinner (40):
> > >       xfs/448: get rid of assert-on-failure
> > >       fstests: cleanup fsstress process management
> > >       fuzzy: don't use killall
> > >       fstests: per-test dmflakey instances
> > >       fstests: per-test dmerror instances
> > >       fstests: per-test dmhuge instances
> > >       fstests: per-test dmthin instances
> > >       fstests: per-test dmdust instances
> > >       fstests: per-test dmdelay instances
> > >       fstests: fix DM device creation/removal vs udev races
> > >       fstests: use syncfs rather than sync
> > >       fstests: clean up mount and unmount operations
> > >       fstests: clean up loop device instantiation
> > >       fstests: xfs/227 is really slow
> > >       fstests: mark tests that are unreliable when run in parallel
> > >       fstests: use udevadm wait in preference to settle
> > >       xfs/442: rescale load so it's not exponential
> > >       xfs/176: fix broken setup code
> > >       xfs/177: remove unused slab object count location checks
> > >       fstests: remove uses of killall where possible
> > >       generic/127: reduce runtime
> > >       quota: system project quota files need to be shared
> > >       dmesg: reduce noise from other tests
> > >       fstests: stop using /tmp directly
> > >       fstests: scale some tests for high CPU count sanity
> > >       generic/310: cleanup killing background processes
> > >       filter: handle mount errors from CONFIG_BLK_DEV_WRITE_MOUNTED=y
> > >       filters: add a filter that accepts EIO instead of other errors
> > >       generic/085: general cleanup for reliability and debugging
> > >       fstests: don't use directory stacks
> > >       fstests: clean up a couple of dm-flakey tests
> > >       fstests: clean up termination of various tests
> > >       vfstests: some tests require the testdir to be shared
> > >       xfs/629: single extent files should be within tolerance
> > >       xfs/076: fix broken mkfs filtering
> > >       fstests: capture some failures to seqres.full
> > >       fstests: always use fail-at-unmount semantics for XFS
> > >       generic/062: don't leave debug files in $here on failure
> > >       fstests: quota grace periods unreliable under load
> > >       fstests: check-parallel
> > > 
> > >  check                                         |   12 -
> > >  check-parallel                                |  205 ++++++++++++++++++
> > >  common/btrfs                                  |    4
> > >  common/config                                 |   36 ++-
> > >  common/dmdelay                                |   24 +-
> > >  common/dmdust                                 |   14 -
> > >  common/dmerror                                |   74 +++---
> > >  common/dmflakey                               |   60 ++---
> > >  common/dmhugedisk                             |   21 +
> > >  common/dmlogwrites                            |    4
> > >  common/dmthin                                 |   12 -
> > >  common/encrypt                                |    2
> > >  common/filter                                 |   17 +
> > >  common/fuzzy                                  |   37 +--
> > >  common/log                                    |    2
> > >  common/metadump                               |   32 +-
> > >  common/overlay                                |   10
> > >  common/populate                               |    8
> > >  common/preamble                               |    1
> > >  common/quota                                  |   37 ---
> > >  common/rc                                     |  166 +++++++++++---
> > >  common/repair                                 |    2
> > >  common/report                                 |    2
> > >  common/verity                                 |    2
> > >  common/xfs                                    |    2
> > >  doc/group-names.txt                           |    1
> > >  doc/requirement-checking.txt                  |    6
> > >  ltp/fsstress.c                                |   28 ++
> > >  src/aio-dio-regress/aio-last-ref-held-by-io.c |    5
> > >  src/dmerror                                   |    6
> > >  tests/btrfs/004                               |   11
> > >  tests/btrfs/007                               |    3
> > >  tests/btrfs/012                               |    4
> > >  tests/btrfs/028                               |    6
> > >  tests/btrfs/049                               |    4
> > >  tests/btrfs/057                               |    4
> > >  tests/btrfs/060                               |   14 -
> > >  tests/btrfs/061                               |   13 -
> > >  tests/btrfs/062                               |   13 -
> > >  tests/btrfs/063                               |   13 -
> > >  tests/btrfs/064                               |   13 -
> > >  tests/btrfs/065                               |   14 -
> > >  tests/btrfs/066                               |   14 -
> > >  tests/btrfs/067                               |   14 -
> > >  tests/btrfs/068                               |   14 -
> > >  tests/btrfs/069                               |   13 -
> > >  tests/btrfs/070                               |   13 -
> > >  tests/btrfs/071                               |   13 -
> > >  tests/btrfs/072                               |   14 -
> > >  tests/btrfs/073                               |   13 -
> > >  tests/btrfs/074                               |   13 -
> > >  tests/btrfs/078                               |   12 -
> > >  tests/btrfs/100                               |    4
> > >  tests/btrfs/101                               |    4
> > >  tests/btrfs/136                               |    6
> > >  tests/btrfs/160                               |    3
> > >  tests/btrfs/192                               |   12 -
> > >  tests/btrfs/195                               |    2
> > >  tests/btrfs/212                               |   16 -
> > >  tests/btrfs/232                               |    4
> > >  tests/btrfs/252                               |    5
> > >  tests/btrfs/261                               |    2
> > >  tests/btrfs/284                               |    4
> > >  tests/btrfs/286                               |    2
> > >  tests/btrfs/291                               |    5
> > >  tests/btrfs/320                               |    6
> > >  tests/btrfs/332                               |    4
> > >  tests/ext4/004                                |    4
> > >  tests/ext4/057                                |   14 -
> > >  tests/ext4/058                                |    3
> > >  tests/ext4/307                                |    4
> > >  tests/generic/013                             |   22 -
> > >  tests/generic/015                             |    2
> > >  tests/generic/019                             |   13 -
> > >  tests/generic/029                             |    2
> > >  tests/generic/030                             |    2
> > >  tests/generic/032                             |    2
> > >  tests/generic/034                             |    2
> > >  tests/generic/039                             |    2
> > >  tests/generic/040                             |    2
> > >  tests/generic/041                             |    2
> > >  tests/generic/042                             |    4
> > >  tests/generic/048                             |    2
> > >  tests/generic/049                             |    4
> > >  tests/generic/050                             |    3
> > >  tests/generic/051                             |   24 --
> > >  tests/generic/054                             |    2
> > >  tests/generic/055                             |    6
> > >  tests/generic/057                             |    2
> > >  tests/generic/059                             |    2
> > >  tests/generic/062                             |    2
> > >  tests/generic/065                             |    2
> > >  tests/generic/066                             |    5
> > >  tests/generic/067                             |   17 -
> > >  tests/generic/068                             |    7
> > >  tests/generic/070                             |   12 -
> > >  tests/generic/073                             |    2
> > >  tests/generic/076                             |   10
> > >  tests/generic/076.out                         |    1
> > >  tests/generic/081                             |    8
> > >  tests/generic/083                             |   13 -
> > >  tests/generic/083.out                         |    1
> > >  tests/generic/084                             |   12 -
> > >  tests/generic/085                             |   21 +
> > >  tests/generic/090                             |    4
> > >  tests/generic/092                             |    2
> > >  tests/generic/098                             |    4
> > >  tests/generic/099                             |    8
> > >  tests/generic/101                             |    2
> > >  tests/generic/104                             |    2
> > >  tests/generic/106                             |    2
> > >  tests/generic/107                             |    2
> > >  tests/generic/108                             |    9
> > >  tests/generic/109                             |    5
> > >  tests/generic/117                             |    4
> > >  tests/generic/127                             |   67 +++--
> > >  tests/generic/127.out                         |    6
> > >  tests/generic/135                             |   24 --
> > >  tests/generic/150                             |    2
> > >  tests/generic/151                             |    2
> > >  tests/generic/152                             |    2
> > >  tests/generic/157                             |    3
> > >  tests/generic/158                             |    3
> > >  tests/generic/159                             |    2
> > >  tests/generic/160                             |    2
> > >  tests/generic/162                             |    4
> > >  tests/generic/163                             |    4
> > >  tests/generic/164                             |    4
> > >  tests/generic/165                             |    4
> > >  tests/generic/166                             |    6
> > >  tests/generic/167                             |    4
> > >  tests/generic/168                             |    7
> > >  tests/generic/170                             |    7
> > >  tests/generic/171                             |    6
> > >  tests/generic/172                             |    6
> > >  tests/generic/173                             |    6
> > >  tests/generic/174                             |    6
> > >  tests/generic/204                             |    8
> > >  tests/generic/232                             |    5
> > >  tests/generic/232.out                         |    1
> > >  tests/generic/247                             |    2
> > >  tests/generic/250                             |    2
> > >  tests/generic/251                             |    5
> > >  tests/generic/252                             |    5
> > >  tests/generic/265                             |    2
> > >  tests/generic/266                             |    2
> > >  tests/generic/267                             |    2
> > >  tests/generic/268                             |    2
> > >  tests/generic/269                             |    8
> > >  tests/generic/270                             |   10
> > >  tests/generic/271                             |    2
> > >  tests/generic/272                             |    2
> > >  tests/generic/273                             |    2
> > >  tests/generic/274                             |    6
> > >  tests/generic/275                             |    6
> > >  tests/generic/276                             |    2
> > >  tests/generic/278                             |    2
> > >  tests/generic/279                             |    2
> > >  tests/generic/281                             |    2
> > >  tests/generic/282                             |    2
> > >  tests/generic/283                             |    2
> > >  tests/generic/306                             |    2
> > >  tests/generic/310                             |   24 +-
> > >  tests/generic/315                             |    2
> > >  tests/generic/317                             |    2
> > >  tests/generic/318                             |    2
> > >  tests/generic/321                             |    4
> > >  tests/generic/323                             |    7
> > >  tests/generic/325                             |    2
> > >  tests/generic/328                             |    4
> > >  tests/generic/329                             |    5
> > >  tests/generic/330                             |    2
> > >  tests/generic/331                             |    7
> > >  tests/generic/332                             |    4
> > >  tests/generic/333                             |    6
> > >  tests/generic/334                             |    6
> > >  tests/generic/335                             |    2
> > >  tests/generic/336                             |    9
> > >  tests/generic/341                             |    2
> > >  tests/generic/342                             |    2
> > >  tests/generic/343                             |    2
> > >  tests/generic/347                             |    2
> > >  tests/generic/348                             |    2
> > >  tests/generic/353                             |    2
> > >  tests/generic/361                             |    8
> > >  tests/generic/373                             |    4
> > >  tests/generic/374                             |    4
> > >  tests/generic/376                             |    2
> > >  tests/generic/382                             |    2
> > >  tests/generic/387                             |    2
> > >  tests/generic/388                             |   24 --
> > >  tests/generic/390                             |   11
> > >  tests/generic/391                             |    2
> > >  tests/generic/395                             |    2
> > >  tests/generic/409                             |   11
> > >  tests/generic/410                             |   11
> > >  tests/generic/411                             |   11
> > >  tests/generic/416                             |    2
> > >  tests/generic/422                             |    4
> > >  tests/generic/425                             |    2
> > >  tests/generic/441                             |    2
> > >  tests/generic/459                             |    8
> > >  tests/generic/461                             |   17 -
> > >  tests/generic/464                             |   10
> > >  tests/generic/474                             |    4
> > >  tests/generic/475                             |   17 -
> > >  tests/generic/476                             |   15 -
> > >  tests/generic/479                             |    2
> > >  tests/generic/480                             |    2
> > >  tests/generic/482                             |   12 -
> > >  tests/generic/483                             |    2
> > >  tests/generic/484                             |    3
> > >  tests/generic/489                             |    2
> > >  tests/generic/502                             |    2
> > >  tests/generic/505                             |    2
> > >  tests/generic/506                             |    2
> > >  tests/generic/507                             |    2
> > >  tests/generic/508                             |    2
> > >  tests/generic/510                             |    2
> > >  tests/generic/520                             |    2
> > >  tests/generic/526                             |    2
> > >  tests/generic/527                             |    2
> > >  tests/generic/530                             |    2
> > >  tests/generic/531                             |    8
> > >  tests/generic/535                             |    2
> > >  tests/generic/546                             |    2
> > >  tests/generic/547                             |    5
> > >  tests/generic/556                             |    2
> > >  tests/generic/560                             |    7
> > >  tests/generic/561                             |   25 +-
> > >  tests/generic/563                             |   24 +-
> > >  tests/generic/564                             |   12 -
> > >  tests/generic/579                             |    8
> > >  tests/generic/585                             |    4
> > >  tests/generic/589                             |   11
> > >  tests/generic/590                             |    9
> > >  tests/generic/599                             |    2
> > >  tests/generic/601                             |    7
> > >  tests/generic/603                             |   14 -
> > >  tests/generic/604                             |    2
> > >  tests/generic/610                             |    2
> > >  tests/generic/620                             |    1
> > >  tests/generic/628                             |    4
> > >  tests/generic/629                             |    4
> > >  tests/generic/631                             |    2
> > >  tests/generic/632                             |    2
> > >  tests/generic/640                             |    2
> > >  tests/generic/642                             |   10
> > >  tests/generic/648                             |   25 --
> > >  tests/generic/650                             |   19 -
> > >  tests/generic/670                             |    2
> > >  tests/generic/671                             |    2
> > >  tests/generic/672                             |    2
> > >  tests/generic/673                             |    2
> > >  tests/generic/674                             |    2
> > >  tests/generic/675                             |    2
> > >  tests/generic/677                             |    2
> > >  tests/generic/683                             |    2
> > >  tests/generic/684                             |    2
> > >  tests/generic/685                             |    2
> > >  tests/generic/686                             |    2
> > >  tests/generic/687                             |    2
> > >  tests/generic/688                             |    2
> > >  tests/generic/690                             |    2
> > >  tests/generic/691                             |    6
> > >  tests/generic/694                             |    2
> > >  tests/generic/695                             |    2
> > >  tests/generic/698                             |    4
> > >  tests/generic/699                             |    8
> > >  tests/generic/703                             |    2
> > >  tests/generic/704                             |    2
> > >  tests/generic/707                             |    7
> > >  tests/generic/716                             |    2
> > >  tests/generic/717                             |    2
> > >  tests/generic/718                             |    2
> > >  tests/generic/719                             |    2
> > >  tests/generic/721                             |    2
> > >  tests/generic/722                             |   15 -
> > >  tests/generic/725                             |    2
> > >  tests/generic/726                             |    2
> > >  tests/generic/727                             |    2
> > >  tests/generic/730                             |    2
> > >  tests/generic/731                             |    2
> > >  tests/generic/732                             |    4
> > >  tests/generic/735                             |    2
> > >  tests/generic/738                             |    2
> > >  tests/generic/741                             |    2
> > >  tests/generic/743                             |    4
> > >  tests/generic/744                             |   10
> > >  tests/generic/745                             |    4
> > >  tests/generic/746                             |   18 -
> > >  tests/generic/747                             |    4
> > >  tests/generic/749                             |    4
> > >  tests/generic/750                             |   10
> > >  tests/generic/751                             |    1
> > >  tests/generic/753                             |   17 -
> > >  tests/overlay/019                             |   48 ++--
> > >  tests/overlay/021                             |    8
> > >  tests/overlay/058                             |   12 -
> > >  tests/xfs/006                                 |    7
> > >  tests/xfs/011                                 |   11
> > >  tests/xfs/013                                 |   22 -
> > >  tests/xfs/014                                 |   11
> > >  tests/xfs/016                                 |    4
> > >  tests/xfs/017                                 |   13 -
> > >  tests/xfs/017.out                             |    1
> > >  tests/xfs/032                                 |    2
> > >  tests/xfs/049                                 |   39 ++-
> > >  tests/xfs/050                                 |    5
> > >  tests/xfs/051                                 |   10
> > >  tests/xfs/052                                 |    2
> > >  tests/xfs/057                                 |    9
> > >  tests/xfs/070                                 |    9
> > >  tests/xfs/073                                 |   36 +--
> > >  tests/xfs/074                                 |   23 +-
> > >  tests/xfs/076                                 |    8
> > >  tests/xfs/077                                 |    2
> > >  tests/xfs/078                                 |   20 -
> > >  tests/xfs/079                                 |   17 -
> > >  tests/xfs/104                                 |   14 -
> > >  tests/xfs/110                                 |    2
> > >  tests/xfs/118                                 |    4
> > >  tests/xfs/119                                 |    2
> > >  tests/xfs/128                                 |    2
> > >  tests/xfs/133                                 |    2
> > >  tests/xfs/134                                 |    2
> > >  tests/xfs/137                                 |    2
> > >  tests/xfs/141                                 |   13 -
> > >  tests/xfs/148                                 |   29 +-
> > >  tests/xfs/149                                 |    8
> > >  tests/xfs/154                                 |    1
> > >  tests/xfs/158                                 |    4
> > >  tests/xfs/161                                 |    2
> > >  tests/xfs/167                                 |   17 -
> > >  tests/xfs/168                                 |    8
> > >  tests/xfs/176                                 |   10
> > >  tests/xfs/177                                 |   15 -
> > >  tests/xfs/186                                 |    4
> > >  tests/xfs/195                                 |    2
> > >  tests/xfs/201                                 |    4
> > >  tests/xfs/212                                 |    2
> > >  tests/xfs/216                                 |   23 +-
> > >  tests/xfs/217                                 |   24 +-
> > >  tests/xfs/227                                 |   59 +++--
> > >  tests/xfs/231                                 |    4
> > >  tests/xfs/232                                 |   10
> > >  tests/xfs/234                                 |    2
> > >  tests/xfs/236                                 |    2
> > >  tests/xfs/237                                 |   13 -
> > >  tests/xfs/239                                 |    2
> > >  tests/xfs/240                                 |    7
> > >  tests/xfs/241                                 |    2
> > >  tests/xfs/243                                 |   11
> > >  tests/xfs/246                                 |    2
> > >  tests/xfs/250                                 |   19 +
> > >  tests/xfs/259                                 |   13 -
> > >  tests/xfs/264                                 |    4
> > >  tests/xfs/265                                 |    2
> > >  tests/xfs/270                                 |    2
> > >  tests/xfs/272                                 |    2
> > >  tests/xfs/274                                 |    2
> > >  tests/xfs/276                                 |    2
> > >  tests/xfs/289                                 |    4
> > >  tests/xfs/291                                 |    4
> > >  tests/xfs/297                                 |   12 -
> > >  tests/xfs/300                                 |    8
> > >  tests/xfs/305                                 |    8
> > >  tests/xfs/309                                 |    2
> > >  tests/xfs/312                                 |    2
> > >  tests/xfs/313                                 |    2
> > >  tests/xfs/314                                 |    2
> > >  tests/xfs/315                                 |    4
> > >  tests/xfs/316                                 |    2
> > >  tests/xfs/317                                 |    2
> > >  tests/xfs/318                                 |    4
> > >  tests/xfs/319                                 |    2
> > >  tests/xfs/320                                 |    2
> > >  tests/xfs/321                                 |    2
> > >  tests/xfs/322                                 |    2
> > >  tests/xfs/323                                 |    2
> > >  tests/xfs/324                                 |    2
> > >  tests/xfs/325                                 |    4
> > >  tests/xfs/326                                 |    4
> > >  tests/xfs/327                                 |    2
> > >  tests/xfs/420                                 |    2
> > >  tests/xfs/421                                 |    2
> > >  tests/xfs/423                                 |    2
> > >  tests/xfs/438                                 |    2
> > >  tests/xfs/440                                 |    8
> > >  tests/xfs/442                                 |   15 -
> > >  tests/xfs/448                                 |    6
> > >  tests/xfs/495                                 |    2
> > >  tests/xfs/501                                 |    2
> > >  tests/xfs/502                                 |    2
> > >  tests/xfs/507                                 |    2
> > >  tests/xfs/511                                 |    2
> > >  tests/xfs/513                                 |   48 +---
> > >  tests/xfs/519                                 |    2
> > >  tests/xfs/520                                 |    2
> > >  tests/xfs/521                                 |    8
> > >  tests/xfs/527                                 |    5
> > >  tests/xfs/528                                 |   10
> > >  tests/xfs/530                                 |   11
> > >  tests/xfs/538                                 |    4
> > >  tests/xfs/541                                 |    2
> > >  tests/xfs/544                                 |    2
> > >  tests/xfs/553                                 |    4
> > >  tests/xfs/558                                 |    7
> > >  tests/xfs/601                                 |    2
> > >  tests/xfs/606                                 |   14 -
> > >  tests/xfs/607                                 |    6
> > >  tests/xfs/609                                 |   20 -
> > >  tests/xfs/610                                 |   20 -
> > >  tests/xfs/613                                 |   44 +--
> > >  tests/xfs/613.out                             |    1
> > >  tests/xfs/617                                 |    2
> > >  tests/xfs/629                                 |    6
> > >  tests/xfs/630                                 |    2
> > >  tests/xfs/631                                 |    9
> > >  tests/xfs/790                                 |    2
> > >  tests/xfs/791                                 |    2
> > >  tests/xfs/792                                 |    2
> > >  tests/xfs/802                                 |    7
> > >  423 files changed, 1827 insertions(+), 1629 deletions(-)
> > > 
> > > 
> > 
> > 
> 





[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