History log of /src/tests/fs/vfs |
Revision | Date | Author | Comments |
1.3 | 13-Jul-2010 |
jmmv | Get rid of static Atffiles and let bsd.test.mk generate them on the fly.
|
1.2 | 13-Jul-2010 |
pooka | Add basic tests for vfsops.
tfilehandle is a test for PR kern/43605
|
1.1 | 05-Jul-2010 |
njoly | Add test program that use sample code from kern/41937, and fs rump helpers to check currently supported filesystems.
t_rmdirrace (1/1): 5 test cases ext2fs_race: Passed. ffs_race: Passed. msdosfs_race: Passed. sysvbfs_race: Passed. tmpfs_race: Passed.
|
1.30 | 06-Jun-2022 |
nia | branches: 1.30.4; build system: Revert all the recent additions of MK[...] knobs that allow conditionally disabling the building of certain user space programs in the 'base' set.
There is not enough consensus that this is the right way and a few people had strong objections, see source-changes-d@.
|
1.29 | 27-May-2022 |
nia | mk: Add a MKLFS flag for excluding the log-structured filesystem userspace tools from the build.
|
1.28 | 28-Mar-2022 |
christos | Add a test for hardlink sysctl limiting.
|
1.27 | 02-Mar-2020 |
christos | zfs needs rumpkern_sysproxy
|
1.26 | 01-Mar-2020 |
christos | Centralize the base rump libraries into a variable used by all the other Makefiles so that we can make changes to it centrally as needed and have less mess. Fixes the sun2 build that needs rumpvfs after librump after the latest changes.
|
1.25 | 19-Nov-2017 |
martin | branches: 1.25.4; ATF test program for PR kern/52738: check for mtime updates after rewriting a file.
|
1.24 | 02-Feb-2017 |
martin | PR kern/51762: add a test program
|
1.23 | 27-Jan-2017 |
hannken | Add test for read/write to readonly update mount.
|
1.22 | 27-Aug-2016 |
christos | branches: 1.22.2; Fix static linking.
|
1.21 | 13-Aug-2016 |
christos | order network libraries properly.
|
1.20 | 07-Jan-2015 |
pooka | branches: 1.20.2; Move sysproxy support into a separate component, rumpkern_sysproxy, instead of it being always provided by the rump kernel base. This move accomplishes two things:
1) it is no longer necessary to provide sysproxy hypercall stubs for platforms which do not want to use sysproxy 2) it is easier to reason about the security aspects, since configurations not linking the sysproxy component simply do not support remote system calls
discussed on rumpkernel-users
|
1.19 | 28-Jun-2013 |
reinoud | Add the rumpfs_udf to the LDADD variable
|
1.18 | 31-Aug-2012 |
pooka | branches: 1.18.2; Hook ZFS tests to MKZFS instead of a homegrown variable.
|
1.17 | 20-Aug-2012 |
pooka | Add a vfstest zfs attachment. This is a compile-time option, default off, due the large numbers of failing tests (some of them look like quite trivial failures).
|
1.16 | 11-Aug-2011 |
uch | branches: 1.16.2; add ATF tests for v7fs. patch by njoly@. thank you.
|
1.15 | 12-Jan-2011 |
pooka | Move basic unionfs test from fs/union to fs/vfs and make it test all whiteout-supporting file systems with the file system in question as the upper layer. Also, add an unlink to the test to see if whiteouts are really working.
ffslog_basic is the test case for PR kern/44377
|
1.14 | 06-Jan-2011 |
njoly | Start unprivileged filesystem tests. For now, only chown/chmod owner checks.
|
1.13 | 31-Dec-2010 |
pooka | Add some elementary tests for r/o file systems. More in 2011!
|
1.12 | 23-Sep-2010 |
he | Reorder the library specifications, so that we don't depend on the library dependencies recorded in shared libraries, allowing these to be linked statically as well.
|
1.11 | 19-Aug-2010 |
pooka | Start adding some I/O tests. This one does a sparse write to the second page on a file, then writes the first, and finally checks it can read something expected. Adapted the from program supplied by yamt in PR kern/36429.
|
1.10 | 17-Aug-2010 |
pooka | Add test which fills up the file system and expects ENOSPC.
|
1.9 | 26-Jul-2010 |
pooka | need to link in nfs client bits
|
1.8 | 19-Jul-2010 |
pooka | Need to use the ${PRINTOBJDIR} trick for LIBISPRIVATE ...
|
1.7 | 19-Jul-2010 |
pooka | Convert the file system test common routines into a library to facilitate more complex user-side stuff (like the lfs cleaner and nfs rpc code), which are non-trivial to do by #include.
|
1.6 | 14-Jul-2010 |
pooka | Convert "The Original" rename race test from to vfs and retire the ffs/tmpfs versions. The only difference is that the origamical one mounted ffs with MNT_LOG (and therein actually lay the bug).
|
1.5 | 13-Jul-2010 |
pooka | Add a few simple basic-level tests for vnodeops. They don't cover corner-cases, but make sure things at least superficially work (which they always don't). More to come...
|
1.4 | 13-Jul-2010 |
pooka | Link in puffs components for puffs tests.
|
1.3 | 13-Jul-2010 |
pooka | Add basic tests for vfsops.
tfilehandle is a test for PR kern/43605
|
1.2 | 08-Jul-2010 |
pooka | Add LFS to vfs test list. TODO: start cleanerd too.
It fails in a number of different ways. Some of them seem to appear as a function of the file system size (i'm not sure if it's because the lack of the cleaner or not. i'm guessing ``no'', though).
ok njoly
|
1.1 | 05-Jul-2010 |
njoly | Add test program that use sample code from kern/41937, and fs rump helpers to check currently supported filesystems.
t_rmdirrace (1/1): 5 test cases ext2fs_race: Passed. ffs_race: Passed. msdosfs_race: Passed. sysvbfs_race: Passed. tmpfs_race: Passed.
|
1.16.2.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.16.2.1 | 30-Oct-2012 |
yamt | sync with head
|
1.18.2.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.20.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.22.2.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.25.4.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.30.4.2 | 12-Aug-2024 |
perseant | Add exFAT conditions to vfs tests
|
1.30.4.1 | 02-Aug-2024 |
perseant | Add t_newfs to test compatibility of newfs, fsck and dumpfs utilities.
|
1.11 | 16-Jul-2019 |
martin | PR misc/54382: whenever open(2) is called with O_CREAT, make sure to pass an open mode argument.
|
1.10 | 30-Nov-2018 |
hannken | Skip zfs, it does not GOP_ALLOC.
PR kern/47656 test zfs_fillfs.
|
1.9 | 13-Jan-2017 |
christos | branches: 1.9.12; 1.9.14; Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
1.8 | 16-Mar-2013 |
jmmv | branches: 1.8.12; Mark a bunch of routinely-broken ZFS tests as expected failures. Point them at PR kern/47656.
|
1.7 | 17-Mar-2011 |
jmmv | branches: 1.7.4; 1.7.10; Remove hack introduced in revision 1.6 to workaround a bug in atf-run that would cause it to lock up while waiting for the p2k_ffs_fillfs test case to complete (in some cases only).
This has been fixed by the upstream revision 3dd2481ec97b2fde76521939b6451d03ce989745 which I have just pulled into our copy of atf.
|
1.6 | 06-Mar-2011 |
pooka | Add a kludge to prevent a test run from completely hanging. Some analysis:
1) p2k_ffs test program opens a socketpair and forks off rump_ffs 2) after mounting the file system, test program decides it wants to skip the test and exits 3) somehow, the puffs event thread of rump_ffs stays in kqueue waiting for activity. fstat+gdb suggests it's waiting for the now-orphaned socketpair (but I didn't fully verify. is there an easy way to dump the state of a kqueue descriptor?). 4) test program is a zombie 5) atf-run waits forever
Note: this doesn't trigger always.
So, it seems there are at least two bugs: 1) test case doesn't timeout 2) the kevent call in rump_ffs never returns even though the sockerpair is orphaned
So, explicitly unmount the file system before skipping the test. Obviously the above bugs needs to be properly fixed, since other skipping test cases can unbeknowingly trigger the issue.
|
1.5 | 07-Jan-2011 |
pooka | P2K_FFS uses puffs and therefore does not GOP_ALLOC either
|
1.4 | 11-Nov-2010 |
pooka | skip tests which use features which rumpfs does not support (namely: vop_rename and a file system size limit)
|
1.3 | 28-Aug-2010 |
wiz | Use explanation for GOP_ALLOC in message from version 1.1. Ok pooka@.
|
1.2 | 27-Aug-2010 |
pooka | Skip the full test for puffs now that we can (yes, atf issue #53)
|
1.1 | 17-Aug-2010 |
pooka | Add test which fills up the file system and expects ENOSPC.
|
1.7.10.1 | 23-Jun-2013 |
tls | resync from head
|
1.7.4.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.8.12.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.9.14.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.9.14.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.9.12.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.19 | 16-Jul-2019 |
christos | fix misplaced paren
|
1.18 | 16-Jul-2019 |
martin | PR misc/54382: whenever open(2) is called with O_CREAT, make sure to pass an open mode argument.
|
1.17 | 13-Jan-2017 |
christos | branches: 1.17.14; Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
1.16 | 04-Apr-2015 |
riastradh | branches: 1.16.2; Fix remaining read(fd, NULL, 1) cases.
|
1.15 | 28-Mar-2015 |
riastradh | Let I/O errors override inode update errors in UFS.
Fixes tests/fs/vfs/t_io:read_fault for UFS.
|
1.14 | 28-Mar-2015 |
riastradh | This doesn't affect p2k_ffs after all, no idea why yet.
|
1.13 | 28-Mar-2015 |
riastradh | Test that read fails with EFAULT even if O_SYNC|O_RSYNC are set.
|
1.12 | 04-Aug-2013 |
pooka | tests for i/o-after-unlink
|
1.11 | 12-Jun-2013 |
pooka | Fix the test for rumpfs on amd64 by adding a creation mode to open(). thanks to gson for the prod.
|
1.10 | 20-Mar-2012 |
njoly | branches: 1.10.2; Remove unneeded atf_tc_expect_pass calls.
|
1.9 | 20-Mar-2012 |
jruoho | Remove xfail.
|
1.8 | 27-Feb-2011 |
njoly | branches: 1.8.4; Add a small testcase that shrink a file using 2 consecutive ftruncate calls.
|
1.7 | 02-Feb-2011 |
pooka | add a few overwrite-related tests
|
1.6 | 03-Jan-2011 |
pooka | branches: 1.6.2; Give this a chance of working on non-4kB pagesize. from martin's sparc64 test run
|
1.5 | 01-Jan-2011 |
pooka | Guess-fix a signed vs. unsigned compiler warning report by pgoyette (it doesn't trigger in my src working copy for whatever reason).
|
1.4 | 01-Jan-2011 |
pooka | fill in number of PR kern/44307
|
1.3 | 01-Jan-2011 |
pooka | Check that extending a file grows its size (with and without O_APPEND).
|
1.2 | 11-Nov-2010 |
pooka | use atf interfaces for error reportage
|
1.1 | 19-Aug-2010 |
pooka | Start adding some I/O tests. This one does a sparse write to the second page on a file, then writes the first, and finally checks it can read something expected. Adapted the from program supplied by yamt in PR kern/36429.
|
1.6.2.2 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.6.2.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.8.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.8.4.1 | 17-Apr-2012 |
yamt | sync with head
|
1.10.2.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.10.2.1 | 23-Jun-2013 |
tls | resync from head
|
1.16.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.17.14.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.5 | 30-Mar-2022 |
christos | branches: 1.5.4; remove zfs from the exception list; it now works like the other fs's.
|
1.4 | 30-Mar-2022 |
christos | update copyright.
|
1.3 | 30-Mar-2022 |
christos | skip userlevel filesystems that have their own rules (they depend on the system setting of the sysctl on NetBSD) and zfs because it implements its own rules for hardlinks to files (does its own permission checks).
|
1.2 | 29-Mar-2022 |
christos | ignore EOPNOTSUPP errors for fs's that don't support hard links.
|
1.1 | 28-Mar-2022 |
christos | Add a test for hardlink sysctl limiting.
|
1.5.4.1 | 12-Aug-2024 |
perseant | Add exFAT conditions to vfs tests
|
1.1 | 02-Feb-2017 |
martin | branches: 1.1.2; 1.1.4; PR kern/51762: add a test program
|
1.1.4.2 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.1.4.1 | 02-Feb-2017 |
bouyer | file t_mtime_otrunc.c was added on branch bouyer-socketcan on 2017-04-21 16:54:10 +0000
|
1.1.2.2 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.1.2.1 | 02-Feb-2017 |
pgoyette | file t_mtime_otrunc.c was added on branch pgoyette-localcount on 2017-03-20 06:57:57 +0000
|
1.1 | 19-Nov-2017 |
martin | ATF test program for PR kern/52738: check for mtime updates after rewriting a file.
|
1.44 | 31-Jan-2022 |
ryo | Extend the time to wait for the thread to quit.
It seems that alarm(1) is not enough time for the thread to actually exit after quittingtime = 1. It randomly failed with "Test program received signal 14" on a slow environment.
|
1.43 | 27-Nov-2021 |
gson | Force failure of the nfs_renamerace_cycle, p2k_ffs_renamerace_cycle, and puffs_renamerace_cycle test cases as they fail only randomly or only on some systems.
|
1.42 | 23-Oct-2021 |
hannken | After converting msdosfs_rename() to use genfs_sane_rename() the MSDOS tests should pass.
Tested on QEMU/nvmm archs i386 and amd64.
Should resolve PR kern/43626 (directory renaming more than a little racy)
|
1.41 | 16-Jun-2021 |
riastradh | tests/fs/vfs: Mark udf_renamerace_cycle flaky, PR kern/56253.
|
1.40 | 05-Sep-2020 |
riastradh | Revert "ufs: Prevent mkdir from choking on deleted directories."
This change made no sense and should not have been committed.
|
1.39 | 05-Sep-2020 |
riastradh | ufs: Prevent mkdir from choking on deleted directories.
Fix some missing uvm_vnp_setsize in screw cases while here.
|
1.38 | 05-Sep-2020 |
riastradh | genfs_rename: Fix deadlocks in cross-directory cyclic rename.
Reproducer:
A: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600); rmdir("c/d/e"); rmdir("c/d"); } B: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600); rename("c", "c/d/e"); } C: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600); rename("c/d/e", "c"); }
Deadlock:
- A holds c and wants to lock d; and either - B holds . and d and wants to lock c, or - C holds . and d and wants to lock c.
The problem with these is that genfs_rename_enter_separate in B or C tried lock order .->d->c->e (in A/B, fdvp->tdvp->fvp->tvp; in A/C, tdvp->fdvp->tvp->fvp) which violates the ancestor->descendant order .->c->d->e.
The resolution is to change B to do fdvp->fvp->tdvp->tvp and C to do tdvp->tvp->fdvp->fvp. But there's an edge case: tvp and fvp might be the same (hard links), and we can't detect that until after we've looked them both up -- and in some file systems (I'm looking at you, ufs), there is no mere lookup operation, only lookup-and-lock, so we can't even hold the lock on one of tvp or fvp when we look up the other one if there's a chance they might be the same.
Fortunately the cases (a) tvp = fvp (b) tvp or fvp is a directory are mutually exclusive as long as directories cannot be hard-linked. In case (a) we can just defer locking {tvp, fvp} until the end, because it can't possibly have {fdvp or fvp, tdvp or tvp} as descendants. In case (b) we can just lock them in the order fdvp->fvp->tdvp->tvp or tdvp->tvp->fdvp->fvp if the first one of {fvp, tvp} is a directory, because it can't possibly coincide with the second one of {fvp, tvp}.
With this change, we can now prove that the locking order is consistent with the ancestor->descendant partial ordering. Where two nodes are incommensurate under that partial ordering, they are only ever locked by rename and there is only ever one rename at a time.
Proof:
- For same-directory renames, genfs_rename_enter_common locks the directory first and then the children. The order directory->child[i] is consistent with ancestor->descendant and child[0]/child[1] are incommensurate.
- For cross-directory renames:
. While a rename is in progress and the fs-wide rename lock is held, directories can be created or removed but not changed, so the outcome of gro_genealogy -- which, given fdvp and tdvp, returns the node N relating fdvp/N/.../tdvp or null if there is none -- can only transition from finding N to not finding N, if one of the directories is removed while any of the vnodes are unlocked. Merely creating directories cannot change the ancestry of tdvp, and concurrent renames are not possible.
Thus, if a gro_genealogy determined the operation to have the form fdvp/N/.../tdvp, then it might cease to have that form, but only because tdvp was removed which will harmlessly cause the rename to fail later on. Similarly, if gro_genealogy determined the operation _not_ to have the form fdvp/N/.../tdvp then it can't begin to have that form until after the rename has completed.
The lock order is,
=> for fdvp/.../tdvp: 1. lock fdvp 2. lookup(/lock/unlock) fvp (consistent with fdvp->fvp) 3. lock fvp if a directory (consistent with fdvp->fvp) 4. lock tdvp (consistent with fdvp->tdvp and possibly fvp->tdvp) 5. lookup(/lock/unlock) tvp (consistent with tdvp->tvp) 6. lock fvp if a nondirectory (fvp->t* or fvp->fdvp is impossible) 7. lock tvp if not fvp (tvp->f* is impossible unless tvp=fvp)
=> for incommensurate fdvp & tdvp, or for tdvp/.../fdvp: 1. lock tdvp 2. lookup(/lock/unlock) tvp (consistent with tdvp->tvp) 3. lock tvp if a directory (consistent with tdvp->tvp) 4. lock fdvp (either incommensurate with tdvp and/or tvp, or consistent with tdvp(->tvp)->fdvp) 5. lookup(/lock/unlock) fvp (consistent with fdvp->fvp) 6. lock tvp if a nondirectory (tvp->f* or tvp->tdvp is impossible) 7. lock fvp if not tvp (fvp->t* is impossible unless fvp=tvp)
Deadlocks found by hannken@; resolution worked out with dholland@.
XXX I think we could improve concurrency somewhat -- with a likely big win for applications like tar and rsync that create many files with temporary names and then rename them to the permanent one in the same directory -- by making vfs_renamelock a reader/writer lock: any number of same-directory renames, or exactly one cross-directory rename, at any one time.
|
1.37 | 05-Sep-2020 |
riastradh | tests/fs/vfs/t_renamerace: Test a screw case hannken@ found.
|
1.36 | 17-Aug-2019 |
gson | The udf_renamerace test case no longer fails due to PR kern/49046, but it does fail due to PR kern/53865 on real hardware.
|
1.35 | 13-Jan-2019 |
gson | branches: 1.35.2; Mark the fs/vfs/t_renamerace:udf_renamerace_dirs test case as an expected failure referencing PR kern/53865, and force failure to avoid reports of unexpected success as it does not realiably fail under qemu. This makes the treatment of udf_renamerace_dirs the same as that of udf_renamerace, only with a different PR. Also, make whitespace consistent between the two.
|
1.34 | 13-Jan-2017 |
christos | branches: 1.34.12; 1.34.14; Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
1.33 | 04-May-2016 |
dholland | branches: 1.33.2; Cite a relevant PR for msdos_renamerace instead of one that was fixed several years ago.
|
1.32 | 29-Jul-2014 |
gson | Mark the udf_renamerace test case (but not udf_renamerace_dirs) as an expected failure again, now with a reference to PR kern/49046. Since the test only fails part of the time, force failure to avoid failure reports reports due to unexpected success.
|
1.31 | 25-Jul-2014 |
pgoyette | Remove atf_tc_expect_fail() calls for udf file-system. These tests are currently passing. As discussed on current-users. Any new failures should be reported via send-pr.
|
1.30 | 09-Jan-2014 |
hannken | branches: 1.30.2; Operation sysvbfs_remove() destructs inodes attached to active vnodes. Defer the destruction to sysvbfs_reclaim().
Disable test t_renamerace:sysvbfs_renamerace as it will exhaust the inode table (sysvbfs has space for 8 inodes only).
Ok: Izumi Tsutsui <tsutsui@netbsd.org>
|
1.29 | 10-Jul-2013 |
reinoud | Update test cases for UDF now udf_rename() uses the genfs_rename framework
|
1.28 | 08-Jul-2013 |
reinoud | Cover the last failing UDF test cases with a reference to PR kern/47986, i.e. all rename's fail until UDF switches over to the new rename framework solving the locking mechanism.
|
1.27 | 17-Mar-2013 |
jmmv | Fix the t_renamerace:lfs_renamerace_dirs test on fast machines.
This test was failing on my machine when run natively but not causing any problems when run within qemu, and the failure was "mkdir: No space left on device".
My understanding of the issue is that this test overflowed the temporary disk image due to its high rate of file churn and the lfs_cleanerd not being able to keep up. Note that this test is capped by time, not number of operations, so this is why the problem does not show up in a slow emulated system.
To fix this, just bump the test file system image limit a little bit. (I tried increasing the frequency at which lfs_cleanerd does its thing, but it wasn't enough.)
|
1.26 | 09-May-2012 |
riastradh | branches: 1.26.2; Adjust t_renamerace now that ext2fs and ffs have good rename.
|
1.25 | 16-Feb-2012 |
perseant | Pass t_renamerace and t_rmdirrace tests.
Adapt dholland@'s fix to ufs_rename to fix PR kern/43582. Address several other MP locking issues discovered during the course of investigating the same problem.
Removed extraneous vn_lock() calls on the Ifile, since the Ifile writes are controlled by the segment lock.
Fix PR kern/45982 by deemphasizing the estimate of how much metadata will fill the empty space on disk when the disk is nearly empty (t_renamerace crates a lot of inode blocks on a tiny empty disk).
|
1.24 | 08-Oct-2011 |
njoly | branches: 1.24.2; 1.24.4; Slightly adjust skipped messages, makes output more consistent.
|
1.23 | 18-Jul-2011 |
dholland | ffs and ffslog are no longer xfail.
|
1.22 | 14-Mar-2011 |
pooka | Apparently this way of triggering the msdosfs rename vnode leak does not bite every time (most commonly observed on the amd64/qemu runs), so add a race condition catcher.
|
1.21 | 06-Mar-2011 |
pooka | Add a race catcher for p2k_ffs renamerace -- it seems like the problem doesn't trigger always especially in a qemu env (but triggers 100% of the time on my desktop).
|
1.20 | 03-Mar-2011 |
pooka | The re-enabled renamerace test also triggers the recent msdosfs vnode leak. xfail this under the blanket of PR kern/44661.
|
1.19 | 03-Mar-2011 |
pooka | Apparently my last commit to msdosfs_vnops.c fixed the (harmless?) buffer overrun in rename (>15 years old bug), so re-enable other msdosfs rename tests too.
|
1.18 | 11-Jan-2011 |
pooka | branches: 1.18.2; need unrace-catcher for ffslog
|
1.17 | 07-Jan-2011 |
pooka | xfail PR kern/44336
|
1.16 | 07-Jan-2011 |
pooka | ffs -o log dies in renamerace_dirs just like the rest.
|
1.15 | 02-Jan-2011 |
pooka | + rump_lwproc_newproc -> rump_lwproc_rfork() + add a tess for rump_lwproc_rfork()
|
1.14 | 11-Nov-2010 |
pooka | skip tests which use features which rumpfs does not support (namely: vop_rename and a file system size limit)
|
1.13 | 01-Nov-2010 |
pooka | Create the process we use later in the test. Otherwise cwd doesn't go right and the test fails because of attempting to create files in the wrong directory.
|
1.12 | 01-Sep-2010 |
pooka | update to new rump lwp/proc interfaces
|
1.11 | 26-Aug-2010 |
pooka | chdir() once per process is enough, no need to do it for every thread (and doing so would cause occasional failures when some thread would cd out of the test mountpoint while another thread was still running in there).
|
1.10 | 26-Aug-2010 |
pooka | Put the workaround for PR kern/43799 into the common nfs unmount routine.
|
1.9 | 25-Aug-2010 |
pooka | Start many more threads for the renamerace since it seems to catch more errors.
Add a sleepkludge to deal with NFS's sillyrename brokenness.
|
1.8 | 16-Jul-2010 |
pooka | Some of the msdosfs tests are killed by SSP due to stack limit being exceeded. I cannot figure out what is going on by code reading, nor repeat this either on my desktop or in qemu, so skip those tests for msdosfs until I can get to the bottom of it.
|
1.7 | 16-Jul-2010 |
pooka | skip directory test on sysvbfs
|
1.6 | 16-Jul-2010 |
pooka | Fix typo in comment. comment tested by wizd.
|
1.5 | 16-Jul-2010 |
pooka | Fill in PR kern/43626 now that it exists.
|
1.4 | 16-Jul-2010 |
pooka | Do the famous renamerace test using directories. Uh oh, bad idea. PR coming soon.
|
1.3 | 16-Jul-2010 |
pooka | This test does not always fail for LFS, so apply same kludge as elsewhere while waiting for atf to grow support for these cases.
|
1.2 | 14-Jul-2010 |
pooka | xfail test on lfs. It goes badaboom faster than you can find your multipass. Borrow PR kern/43582 used earlier for rmdirrace, as it looks pretty much like the same problem.
|
1.1 | 14-Jul-2010 |
pooka | Convert "The Original" rename race test from to vfs and retire the ffs/tmpfs versions. The only difference is that the origamical one mounted ffs with MNT_LOG (and therein actually lay the bug).
|
1.18.2.1 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.24.4.1 | 17-Mar-2012 |
bouyer | Pull up following revision(s) (requested by perseant in ticket #116): sys/ufs/lfs/lfs_alloc.c: revision 1.112 tests/fs/vfs/t_rmdirrace.c: revision 1.9 tests/fs/vfs/t_renamerace.c: revision 1.25 sys/ufs/lfs/lfs_vnops.c: revision 1.240 sys/ufs/lfs/lfs_segment.c: revision 1.224 sys/ufs/lfs/lfs_bio.c: revision 1.122 sys/ufs/lfs/lfs_vfsops.c: revision 1.294 sbin/newfs_lfs/make_lfs.c: revision 1.19 sys/ufs/lfs/lfs.h: revision 1.136 Pass t_renamerace and t_rmdirrace tests. Adapt dholland@'s fix to ufs_rename to fix PR kern/43582. Address several other MP locking issues discovered during the course of investigating the same problem. Removed extraneous vn_lock() calls on the Ifile, since the Ifile writes are controlled by the segment lock. Fix PR kern/45982 by deemphasizing the estimate of how much metadata will fill the empty space on disk when the disk is nearly empty (t_renamerace crates a lot of inode blocks on a tiny empty disk).
|
1.24.2.3 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.24.2.2 | 23-May-2012 |
yamt | sync with head.
|
1.24.2.1 | 17-Apr-2012 |
yamt | sync with head
|
1.26.2.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.26.2.1 | 23-Jun-2013 |
tls | resync from head
|
1.30.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.33.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.34.14.2 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.34.14.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.34.12.1 | 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.35.2.1 | 13-Sep-2020 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1083):
sys/miscfs/genfs/genfs_rename.c: revision 1.5 tests/fs/vfs/t_renamerace.c: revision 1.37 tests/fs/vfs/t_renamerace.c: revision 1.38
tests/fs/vfs/t_renamerace: Test a screw case hannken@ found.
genfs_rename: Fix deadlocks in cross-directory cyclic rename.
Reproducer: A: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600); rmdir("c/d/e"); rmdir("c/d"); } B: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600); rename("c", "c/d/e"); } C: for (;;) { mkdir("c", 0600); mkdir("c/d", 0600); mkdir("c/d/e", 0600); rename("c/d/e", "c"); }
Deadlock: - A holds c and wants to lock d; and either - B holds . and d and wants to lock c, or - C holds . and d and wants to lock c.
The problem with these is that genfs_rename_enter_separate in B or C tried lock order .->d->c->e (in A/B, fdvp->tdvp->fvp->tvp; in A/C, tdvp->fdvp->tvp->fvp) which violates the ancestor->descendant order .->c->d->e.
The resolution is to change B to do fdvp->fvp->tdvp->tvp and C to do tdvp->tvp->fdvp->fvp. But there's an edge case: tvp and fvp might be the same (hard links), and we can't detect that until after we've looked them both up -- and in some file systems (I'm looking at you, ufs), there is no mere lookup operation, only lookup-and-lock, so we can't even hold the lock on one of tvp or fvp when we look up the other one if there's a chance they might be the same.
Fortunately the cases (a) tvp = fvp (b) tvp or fvp is a directory are mutually exclusive as long as directories cannot be hard-linked.
In case (a) we can just defer locking {tvp, fvp} until the end, because it can't possibly have {fdvp or fvp, tdvp or tvp} as descendants. In case (b) we can just lock them in the order fdvp->fvp->tdvp->tvp or tdvp->tvp->fdvp->fvp if the first one of {fvp, tvp} is a directory, because it can't possibly coincide with the second one of {fvp, tvp}.
With this change, we can now prove that the locking order is consistent with the ancestor->descendant partial ordering. Where two nodes are incommensurate under that partial ordering, they are only ever locked by rename and there is only ever one rename at a time.
Proof: - For same-directory renames, genfs_rename_enter_common locks the directory first and then the children. The order directory->child[i] is consistent with ancestor->descendant and child[0]/child[1] are incommensurate. - For cross-directory renames: . While a rename is in progress and the fs-wide rename lock is held, directories can be created or removed but not changed, so the outcome of gro_genealogy -- which, given fdvp and tdvp, returns the node N relating fdvp/N/.../tdvp or null if there is none -- can only transition from finding N to not finding N, if one of the directories is removed while any of the vnodes are unlocked. Merely creating directories cannot change the ancestry of tdvp, and concurrent renames are not possible. Thus, if a gro_genealogy determined the operation to have the form fdvp/N/.../tdvp, then it might cease to have that form, but only because tdvp was removed which will harmlessly cause the rename to fail later on. Similarly, if gro_genealogy determined the operation _not_ to have the form fdvp/N/.../tdvp then it can't begin to have that form until after the rename has completed. The lock order is, => for fdvp/.../tdvp: 1. lock fdvp 2. lookup(/lock/unlock) fvp (consistent with fdvp->fvp) 3. lock fvp if a directory (consistent with fdvp->fvp) 4. lock tdvp (consistent with fdvp->tdvp and possibly fvp->tdvp) 5. lookup(/lock/unlock) tvp (consistent with tdvp->tvp) 6. lock fvp if a nondirectory (fvp->t* or fvp->fdvp is impossible) 7. lock tvp if not fvp (tvp->f* is impossible unless tvp=fvp) => for incommensurate fdvp & tdvp, or for tdvp/.../fdvp: 1. lock tdvp 2. lookup(/lock/unlock) tvp (consistent with tdvp->tvp) 3. lock tvp if a directory (consistent with tdvp->tvp) 4. lock fdvp (either incommensurate with tdvp and/or tvp, or consistent with tdvp(->tvp)->fdvp) 5. lookup(/lock/unlock) fvp (consistent with fdvp->fvp) 6. lock tvp if a nondirectory (tvp->f* or tvp->tdvp is impossible) 7. lock fvp if not tvp (fvp->t* is impossible unless fvp=tvp)
Deadlocks found by hannken@; resolution worked out with dholland@.
XXX I think we could improve concurrency somewhat -- with a likely big win for applications like tar and rsync that create many files with temporary names and then rename them to the permanent one in the same directory -- by making vfs_renamelock a reader/writer lock: any number of same-directory renames, or exactly one cross-directory rename, at any one time.
|
1.9 | 16-Feb-2012 |
perseant | Pass t_renamerace and t_rmdirrace tests.
Adapt dholland@'s fix to ufs_rename to fix PR kern/43582. Address several other MP locking issues discovered during the course of investigating the same problem.
Removed extraneous vn_lock() calls on the Ifile, since the Ifile writes are controlled by the segment lock.
Fix PR kern/45982 by deemphasizing the estimate of how much metadata will fill the empty space on disk when the disk is nearly empty (t_renamerace crates a lot of inode blocks on a tiny empty disk).
|
1.8 | 08-Oct-2011 |
njoly | branches: 1.8.2; 1.8.4; Slightly adjust skipped messages, makes output more consistent.
|
1.7 | 19-Jul-2010 |
pooka | add missing headers
|
1.6 | 13-Jul-2010 |
pooka | Make the FSTYPE macros take tc instead of derivative type "type".
ok njoly
|
1.5 | 12-Jul-2010 |
njoly | Pass down the test case data to the test function, to be able to use meta-data informations such as srcdir. Requested by pooka.
While here remove fstype argument, and define it as a custom meta-data (X-fs.type) instead.
|
1.4 | 09-Jul-2010 |
njoly | Get rid of home made filesystem type strings and use MOUNT_xxx ones instead. While here provide some macros which do test for a specific type.
|
1.3 | 09-Jul-2010 |
njoly | Pass down the filesystem type to the test funtion to allow fs-specific callpoints.
Adjust t_rmdirrace by moving LFS test specific code from common/lfs.c, and do skip sysvbfs which does not support rmdir(2).
from pooka.
|
1.2 | 05-Jul-2010 |
njoly | Fix copyright, noted by Jukka Ruohonen.
|
1.1 | 05-Jul-2010 |
njoly | Add test program that use sample code from kern/41937, and fs rump helpers to check currently supported filesystems.
t_rmdirrace (1/1): 5 test cases ext2fs_race: Passed. ffs_race: Passed. msdosfs_race: Passed. sysvbfs_race: Passed. tmpfs_race: Passed.
|
1.8.4.1 | 17-Mar-2012 |
bouyer | Pull up following revision(s) (requested by perseant in ticket #116): sys/ufs/lfs/lfs_alloc.c: revision 1.112 tests/fs/vfs/t_rmdirrace.c: revision 1.9 tests/fs/vfs/t_renamerace.c: revision 1.25 sys/ufs/lfs/lfs_vnops.c: revision 1.240 sys/ufs/lfs/lfs_segment.c: revision 1.224 sys/ufs/lfs/lfs_bio.c: revision 1.122 sys/ufs/lfs/lfs_vfsops.c: revision 1.294 sbin/newfs_lfs/make_lfs.c: revision 1.19 sys/ufs/lfs/lfs.h: revision 1.136 Pass t_renamerace and t_rmdirrace tests. Adapt dholland@'s fix to ufs_rename to fix PR kern/43582. Address several other MP locking issues discovered during the course of investigating the same problem. Removed extraneous vn_lock() calls on the Ifile, since the Ifile writes are controlled by the segment lock. Fix PR kern/45982 by deemphasizing the estimate of how much metadata will fill the empty space on disk when the disk is nearly empty (t_renamerace crates a lot of inode blocks on a tiny empty disk).
|
1.8.2.1 | 17-Apr-2012 |
yamt | sync with head
|
1.8 | 21-Sep-2019 |
kre | branches: 1.8.10;
Initialise the sometvs array of struct timeval that is to be used to validate that utimes() cannot update the times of a file on a read only filesystem. The values are never actually used, but since src/sys/kern/vfs_syscalls.c 1.535 they are validated for sanity, and the syscall returns EINVAL if the values passed are invalid (tv_usec <0 or >= 1000000). If that happens we don't get as far as the test which produces the EROFS that is expected from this test (these tests - one for each filesystem type).
So, init the timeval structs (just to 0, the values will still not be used) so that the EINVAL doesn't bite us before we're eaten by the EROFS which is the way we're supposed to die.
If the syscall API args were labelled as "const" the compiler probably would have caught the use of uninit'd vars and complained much sooner.
|
1.7 | 16-Jul-2019 |
martin | PR misc/54382: whenever open(2) is called with O_CREAT, make sure to pass an open mode argument.
|
1.6 | 13-Jan-2017 |
christos | branches: 1.6.14; Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
1.5 | 22-Feb-2011 |
yamt | branches: 1.5.26; add some tests
|
1.4 | 31-Jan-2011 |
njoly | Now that PR/44302 is fixed, fs/vfs/t_ro:sysvbfs_rmfile should not fail anymore.
|
1.3 | 07-Jan-2011 |
pooka | branches: 1.3.2; expect correct errno in nfsro case. from yamt
|
1.2 | 31-Dec-2010 |
pooka | fill in PR kern/44302
|
1.1 | 31-Dec-2010 |
pooka | Add some elementary tests for r/o file systems. More in 2011!
|
1.3.2.2 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.3.2.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.5.26.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.6.14.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.8.10.1 | 12-Aug-2024 |
perseant | Add exFAT conditions to vfs tests
|
1.2 | 14-May-2020 |
msaitoh | Remove extra semicolon.
|
1.1 | 27-Jan-2017 |
hannken | branches: 1.1.2; 1.1.4; Add test for read/write to readonly update mount.
|
1.1.4.2 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.1.4.1 | 27-Jan-2017 |
bouyer | file t_rwtoro.c was added on branch bouyer-socketcan on 2017-04-21 16:54:10 +0000
|
1.1.2.2 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.1.2.1 | 27-Jan-2017 |
pgoyette | file t_rwtoro.c was added on branch pgoyette-localcount on 2017-03-20 06:57:57 +0000
|
1.9 | 13-Jan-2017 |
christos | Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
1.8 | 07-Aug-2011 |
hannken | branches: 1.8.24; Change union rmdir semantics to fail directory removal for non-empty directories like all other file systems do.
Change test accordingly.
|
1.7 | 05-Aug-2011 |
hannken | When union_lookup() creates a shadow directory and nameiop is not LOOKUP it has to restart the lookup to get the componentname right.
Fixes PR #44383 (an endless stream of whiteout and opaque dir problems ...)
|
1.6 | 03-Aug-2011 |
hannken | Make whiteouts work on journaling ffs file system by adding the missing UFS_WAPBL_BEGIN() / UFS_WAPBL_END() around CREATE and DELETE ops.
Fixes PR #44377 (union whiteouts don't work on ffs -o log)
|
1.5 | 13-Jan-2011 |
pooka | xfail PR kern/44383: whiteouts are generally speaking kaput
|
1.4 | 13-Jan-2011 |
pooka | Add a test case for a r/o lower layer which attempts to create some whiteouts and opaque dirs in the upper layer. The sad news is this simple test fails across the board. It's pretty hard to figure out how unionfs should work in $fs given that even the simplest things don't work with ffs.
|
1.3 | 12-Jan-2011 |
pooka | xfail for PR kern/44377
|
1.2 | 12-Jan-2011 |
pooka | Instead of hardcoding fs list just try to mount union and skip all file systems which return EOPNOTSUPP.
|
1.1 | 12-Jan-2011 |
pooka | Move basic unionfs test from fs/union to fs/vfs and make it test all whiteout-supporting file systems with the file system in question as the upper layer. Also, add an unlink to the test to see if whiteouts are really working.
ffslog_basic is the test case for PR kern/44377
|
1.8.24.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.16 | 28-Nov-2018 |
hannken | branches: 1.16.12; Redo the access check for setting va_flags in zfs_netbsd_setattr().
Use user flag UF_NODUMP instead of UF_IMMUTABLE for the test as it is the only user flag supported by all tested file systems.
PR kern/47656 test zfs_flags.
|
1.15 | 28-Nov-2018 |
hannken | Add missing access check for REMOVE into zfs_netbsd_lookup().
PR kern/47656 test zfs_dirperms.
|
1.14 | 28-Nov-2018 |
hannken | Add missing access check for setting va_Xtime into zfs_netbsd_setattr().
PR kern/47656 test zfs_times.
|
1.13 | 13-Jan-2017 |
christos | branches: 1.13.12; 1.13.14; Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
1.12 | 09-Apr-2015 |
riastradh | branches: 1.12.2; Apparently I fixed t_unpriv:zfs_owner and didn't notice.
|
1.11 | 29-Aug-2014 |
gson | Don't pass an uninitialized variable as the times[] argument of rump_sys_utimes(). Instead, pass combinations of values representing edge cases: the farthest possible past, the epoch, and the farthest possible future. Now the excessive runtime reported in PR bin/49144 occurs reliably, on multiple architectures, and not only with udf, but also with msdosfs.
|
1.10 | 16-Mar-2013 |
jmmv | Mark a bunch of routinely-broken ZFS tests as expected failures. Point them at PR kern/47656.
|
1.9 | 04-Apr-2012 |
njoly | branches: 1.9.2; New testcase that check file flags with unprivileged credentials.
|
1.8 | 26-Mar-2012 |
njoly | Now that permissions for msdos have been fixed, kill times() special case which was wrong.
|
1.7 | 23-Mar-2012 |
njoly | Extend times testcase to check for non null time values too.
|
1.6 | 15-Mar-2012 |
njoly | Add another testcase that check setting file times with unprivileged credentials.
|
1.5 | 09-Feb-2012 |
njoly | Add a testcase which checks that directory permissions are honored for file creation/deletion with unprivileged credentials.
releng ok.
|
1.4 | 31-Jan-2012 |
njoly | owner testcase now succeed with rumpfs.
|
1.3 | 27-Jan-2012 |
njoly | unpriv owner test now pass for sysvbfs.
|
1.2 | 08-Oct-2011 |
njoly | branches: 1.2.2; USE_OWNER -> USES_OWNER for consistency with other macros.
|
1.1 | 06-Jan-2011 |
njoly | Start unprivileged filesystem tests. For now, only chown/chmod owner checks.
|
1.2.2.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.2.2.1 | 17-Apr-2012 |
yamt | sync with head
|
1.9.2.1 | 23-Jun-2013 |
tls | resync from head
|
1.12.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.13.14.1 | 10-Jun-2019 |
christos | Sync with HEAD
|
1.13.12.1 | 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.16.12.2 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.16.12.1 | 12-Aug-2024 |
perseant | Add exFAT conditions to vfs tests
|
1.12 | 13-Jan-2017 |
christos | Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
1.11 | 04-Apr-2011 |
hannken | branches: 1.11.26; Msdosfs on-disk meta data is not sufficient to create or validate file handles.
Maintain a tree of file handles, create nodes from msdosfs_vptofh() and keep them until either the file gets unlinked or the file system gets unmounted.
Fixes the msdosfs part of PR #43745 (fhopen of an unlinked file causes problems on multiple file systems)
|
1.10 | 02-Apr-2011 |
hannken | Fix file handle operations for tmpfs by removing a now bogus test and fixing the return value of tmpfs_fhtovp() in the not-found case.
When vmlocking2 was merged to head (Jan 2008 !!) the inode numbering was changed. Before inodes were numbered 2..tm_nodes_max-1 and after the merge the numbers are derived from the nodes memory address.
Fixes PR #43605 (tmpfs file handles are broken)
|
1.9 | 07-Jan-2011 |
pooka | use X-fs.mntname for f_fstypename. ignore p2k_ffs there.
|
1.8 | 19-Nov-2010 |
pooka | Convert skipped tests into proper xfails (a lazy bum is me).
prompted by pgoyette
|
1.7 | 16-Aug-2010 |
pooka | Add a test case which tries to fhopen() a file handle filled with random garbage.
|
1.6 | 12-Aug-2010 |
pooka | Fill in PR kern/43745 now that it exists.
lfs_tfhremove: Expected failure: fhopen() for removed file succeeds (PR kern/43745): t_vfsops.c:161: Expected true value in rump_sys_fhopen(fhp, fhsize, O_RDONLY) == -1 msdosfs_tfhremove: Expected failure: fhopen() for removed file succeeds (PR kern/43745): t_vfsops.c:161: Expected true value in rump_sys_fhopen(fhp, fhsize, O_RDONLY) == -1
|
1.5 | 12-Aug-2010 |
pooka | Add test case for fhopenining a removed file. This fails on msdosfs and lfs and causes a kernel panic on nfs. I'll fix nfs soon and file a PR for the other two.
Also panicked ffs a few hours ago, but was fixed by hannken. Needless to say, this test was inspired by his fix.
|
1.4 | 19-Jul-2010 |
pooka | add missing headers
|
1.3 | 16-Jul-2010 |
njoly | Add some sanity checks for statvfs values.
|
1.2 | 13-Jul-2010 |
pooka | make compile on HEAD
|
1.1 | 13-Jul-2010 |
pooka | Add basic tests for vfsops.
tfilehandle is a test for PR kern/43605
|
1.11.26.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.63 | 08-May-2023 |
andvar | branches: 1.63.2; fix the grammar in comments reported by Jim Spath in misc/57397.
|
1.62 | 01-Feb-2022 |
martin | Test mkdir(2) with one or more trailing slashes - this currently fails for v7fs.
|
1.61 | 16-Sep-2021 |
andvar | fix typos in word "successfully", mainly s/succesfully/successfully/.
|
1.60 | 19-Aug-2021 |
andvar | s/memry/memory+s/softare/software/+s/grapics/graphics+s/ouput/output
|
1.59 | 13-Jan-2017 |
christos | Don't play with "../.." in includes for h_macros.h; deal with it centrally. Minor fixes.
|
1.58 | 29-Aug-2016 |
kre | PR kern/49033
POSIX allows for the atime (or technically, any of the times) to be updated as a side effect of searching a directory (allows, not requires). The NetBSD UDF implementation apparently works that way, treating a directory search as a read of the directory, and hence updating the access time. Compensate for that in the test (rather than just expecting failure) by verifying that the atime after the directory search is within a small margin of the atime before the search (currently, "small" is 1 second). We could fetch the time before the mkdir and both stat() calls, do all of that, fetch the time after, subtract, and require the after stat() atime to be bounded by the atime set by the original mkdir and returned in the first stat() and that time + the difference in elapsed time - that would be more accurate, but is a lot more work for little real benefit.
Should anyone be interested in doing that extra work, remember to use monotonic time (clock_gettime(CLOCK_MOMNOTONIC, ...)) not the time of day clock for measuring the elapsed time.
Along with this, remove the "if (udf) failure expected" and the if (udf && we haven't failed yet) fail("random failure failed to happen") stuff... (the "random" would have been that sometimes the mkdir and two lookups (stat() calls) would all occur within the same clock tick, meaning that the atimes would all be the same. Other times the clock would tick somewhere between the mkdir() and the 2nd stat().)
|
1.57 | 21-Aug-2016 |
christos | fix wrong variable.
|
1.56 | 20-Aug-2016 |
christos | - use snprintf - print the argument that caused the error
|
1.55 | 28-Jan-2016 |
martin | branches: 1.55.2; The test for PR 50608 works now, remove the expected failure.
|
1.54 | 14-Jan-2016 |
gson | Don't use a filename with an embedded newline in the create_many test case. Instead, add a separate test case "create_nonalphanum" for filenames containing non-alphanumeric characters. The bug of PR kern/50608 now causes a failure in create_nonalphanum rather than create_many.
|
1.53 | 13-Jan-2016 |
pooka | create_many: remove PR kern/50607 xfail
Seems to have been fixed by ext2fs_lookup.c 1.79 (thanks, riastradh)
|
1.52 | 02-Jan-2016 |
pooka | create_many: * add xfails for ext2 and udf * don't try to create a subdirectory for sysvbfs
|
1.51 | 01-Jan-2016 |
pooka | use a shorter filename template in previous (for v7fs)
|
1.50 | 01-Jan-2016 |
pooka | Add a test which creates many directory entries.
|
1.49 | 09-Apr-2015 |
riastradh | Advisory locking for zfs.
|
1.48 | 09-Apr-2015 |
riastradh | Fix vattr_init_mask: mode is mode_t, not u_short.
Fixes fs/vfs/t_vnops:zfs_attrs test.
|
1.47 | 09-Apr-2015 |
riastradh | Tests claim rename(..., "x/.") yields EISDIR, so do that. Fixes zfs.
|
1.46 | 09-Apr-2015 |
riastradh | Fix return code of rmdir(nonempty) in zfs: ENOTEMPTY, not EEXIST.
|
1.45 | 24-Mar-2015 |
riastradh | Make this run in NetBSD 6 by using st_mtimespec instead of st_mtim.
st_mtimespec is our traditional nonstandard name for what POSIX called st_mtim in 2008, but these aren't going to run in non-NetBSD anyway so using the nonstandard name shouldn't be an issue.
|
1.44 | 29-Dec-2014 |
hannken | Test v7fs_lstat_symlink is no longer expected to fail.
|
1.43 | 09-Sep-2014 |
gson | Mark v7fs_lstat_symlink as an expected failure, referencing PR kern/48864.
|
1.42 | 07-Sep-2014 |
gson | Add a test of symlinks with long targets.
|
1.41 | 12-Aug-2014 |
gson | Mark udf_lookup_complex as an expected failure, referencing PR kern/49033. Since it does not fail reliably, force it to fail to avoid spurious failure reports due to unexpected success.
|
1.40 | 25-Jul-2014 |
martin | branches: 1.40.2; PR kern/49033: try to provide better diagnostics if the udf_lookup_complex test randomly fails.
|
1.39 | 03-Jun-2014 |
njoly | Add testcase that check lstat(2) values for symbolic links (PR kern/48864).
|
1.38 | 19-Oct-2013 |
christos | branches: 1.38.2; fix unused variable warnings
|
1.37 | 28-Jul-2013 |
njoly | Check that rename(2) with NULL arguments fail with EFAULT.
|
1.36 | 10-Jul-2013 |
reinoud | Update test cases for UDF now udf_rename() uses the genfs_rename framework
|
1.35 | 08-Jul-2013 |
reinoud | Cover the last failing UDF test cases with a reference to PR kern/47986, i.e. all rename's fail until UDF switches over to the new rename framework solving the locking mechanism.
|
1.34 | 16-Mar-2013 |
jmmv | Mark a bunch of routinely-broken ZFS tests as expected failures. Point them at PR kern/47656.
|
1.33 | 20-Mar-2012 |
njoly | branches: 1.33.2; Remove unneeded atf_tc_expect_pass calls.
|
1.32 | 19-Mar-2012 |
pgoyette | Finish removing the block of commented-out code from rev 1.31
Hello, christos!
|
1.31 | 18-Mar-2012 |
christos | annotate fixed failures as comments.
|
1.30 | 12-Dec-2011 |
njoly | Start making fs read(2) fail with EISDIR if the implementation does not allow read on directories (kernfs, rumpfs, ptyfs and sysvbfs). Adjust man page accordingly, and add a small corresponding vfs testcase.
|
1.29 | 08-Oct-2011 |
njoly | branches: 1.29.2; Slightly adjust skipped messages, makes output more consistent.
|
1.28 | 19-Aug-2011 |
riastradh | Add test for `ln -s / foo && cd foo'.
|
1.27 | 11-Aug-2011 |
uch | add ATF tests for v7fs. patch by njoly@. thank you.
|
1.26 | 23-Jul-2011 |
alnsn | Don't assume that "first lock that blocks" is a lock with the lowest start offset and change the test to work when F_GETLK returns any lock that blocks.
|
1.25 | 20-Jul-2011 |
hannken | Even though msdosfs never truncates file names it advertises _PC_NO_TRUNC as zero. Make it advertise one (no_trunc == true).
Names longer than NAME_MAX (255) will never pass namei() btw.
Fixes PR #43670 (msdosfs claims support for filenames longer than {NAME_MAX}, but fails)
|
1.24 | 30-May-2011 |
martin | Remove "expected failure" for tmpfs PRs that are now fixed.
|
1.23 | 01-Apr-2011 |
hannken | Make zero length symlinks work on tmpfs.
Fixes PR #43843 (tmpfs dies with kassert panic for 0 length symlink target)
|
1.22 | 19-Mar-2011 |
hannken | Remove a vnode reference leak from msdosfs_rename. Release tdvp if either doscheckpath() or relookup() fails.
Adjust test fs/vfs/t_vnops.c and remove the link count test for msdos.
Fixes PR #44661
|
1.21 | 03-Mar-2011 |
pooka | Apparently my last commit to msdosfs_vnops.c fixed the (harmless?) buffer overrun in rename (>15 years old bug), so re-enable other msdosfs rename tests too.
|
1.20 | 01-Mar-2011 |
pooka | msdosfs xfail for PR kern/44661
|
1.19 | 01-Mar-2011 |
pooka | xfail dir_rmdirdotdot for tmpfs (PR kern/44657)
|
1.18 | 01-Mar-2011 |
pooka | Rmdir the dir you're in and its parent and try to cd .. Fails on tmpfs (crash), puffs (cd .. succeeds) and rumpfs (cd .. succeeds).
another testcase derived from the bugfinding genious of Taylor R Campbell
|
1.17 | 01-Mar-2011 |
pooka | Comment out msdosfs skip -- i'm not sure if it will still fail with the "stack size" problem, but at least it fails due to yet another refcounting snafu in the msdosfs rename method.
|
1.16 | 01-Mar-2011 |
pooka | augment rename test case with the failure from PR kern/44288
|
1.15 | 28-Feb-2011 |
pooka | Add simple test case for access(2), including panicky scenario from PR kern/44648.
|
1.14 | 22-Feb-2011 |
yamt | add some tests
|
1.13 | 31-Jan-2011 |
pooka | Add test case for F_GETLK pid-oddness from PR kern/44494.
I found the test case a little difficult to understand (because of many indices), so I added a few more comments after I think I figured out what was going on.
|
1.12 | 11-Jan-2011 |
kefren | branches: 1.12.2; add test for kern/43321, blessed by pooka@
|
1.11 | 04-Jan-2011 |
pooka | Check that file attributes can be changed (where applicable).
|
1.10 | 11-Nov-2010 |
pooka | skip tests which use features which rumpfs does not support (namely: vop_rename and a file system size limit)
|
1.9 | 09-Sep-2010 |
njoly | s/dirs/symlinks/ in USES_SYMLINKS message.
|
1.8 | 06-Sep-2010 |
pooka | fill in PR number: kern/43843
|
1.7 | 06-Sep-2010 |
pooka | symlink to a zero-len target (and watch tmpfs go kabloom)
|
1.6 | 01-Aug-2010 |
mlelstv | The erroneous error codes described in kern/43616 have been fixed.
|
1.5 | 26-Jul-2010 |
njoly | Add create and rename testcases to exercize filenames longer than {NAME_MAX}.
|
1.4 | 19-Jul-2010 |
pooka | convert to newstyle automagic rump compat syscalls
|
1.3 | 16-Jul-2010 |
pooka | Some of the msdosfs tests are killed by SSP due to stack limit being exceeded. I cannot figure out what is going on by code reading, nor repeat this either on my desktop or in qemu, so skip those tests for msdosfs until I can get to the bottom of it.
|
1.2 | 14-Jul-2010 |
pooka | Add an assortment of rename tests. Not complete, but at least tests something.
This contains the tests for PR kern/43616 and PR kern/43617.
|
1.1 | 13-Jul-2010 |
pooka | Add a few simple basic-level tests for vnodeops. They don't cover corner-cases, but make sure things at least superficially work (which they always don't). More to come...
|
1.12.2.2 | 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.12.2.1 | 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.29.2.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.29.2.1 | 17-Apr-2012 |
yamt | sync with head
|
1.33.2.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.33.2.1 | 23-Jun-2013 |
tls | resync from head
|
1.38.2.1 | 10-Aug-2014 |
tls | Rebase.
|
1.40.2.1 | 17-Jan-2015 |
martin | Pull up following revision(s) (requested by gson in ticket #424): tests/fs/vfs/t_vnops.c: revision 1.41 Mark udf_lookup_complex as an expected failure, referencing PR kern/49033. Since it does not fail reliably, force it to fail to avoid spurious failure reports due to unexpected success.
|
1.55.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.63.2.2 | 14-Aug-2024 |
perseant | Note exFAT also does not permit hard links
|
1.63.2.1 | 12-Aug-2024 |
perseant | Add exFAT conditions to vfs tests
|