Commit Graph

52 Commits

Author SHA1 Message Date
christos 38a0431bfa Restore binary compatibility by using the statvfs90 structure internally. 2019-09-23 12:00:57 +00:00
christos c54cb81102 Don't play with "../.." in includes for h_macros.h; deal with it centrally.
Minor fixes.
2017-01-13 21:30:39 +00:00
hannken f3e32599e8 - Change vcache_reclaim() to always call VOP_INACTIVE() before VOP_RECLAIM().
When called from vrecycle() or vgone() there is a window where the refcount
  is greater than zero and another thread could get and release a reference
  that would miss VOP_INACTIVE() as the refcount doesn't drop to zero.

  Adjust test fs/puffs/t_basic:  test VOP_INACTIVE count being greater zero.

- Make vrecycle() more robust by checking v_usecount first and preventing
  further references across vn_lock().  Fixes a deadlock where one thread
  starts unmount, second thread locks a directory and allocates a vnode
  and first thread tries to vrecycle() the directory.
  First thread holds vfs_busy and wants vnode, second thread holds vnode
  and wants vfs_busy.

- With these fixes in place change cleanvnode() to use vget()/vrecycle()
  to reclaim the vnode.
2016-12-01 14:49:03 +00:00
christos ffeb8dbf4e Define _KERNTYPES for things that need it. 2016-01-23 21:22:45 +00:00
he f693807fd8 Fix static linking for the tests: -lrump is also used by -lrumpuser,
so we also need -lrump after -lrumpuser.  Fixes build for sun2.
2014-06-10 04:28:39 +00:00
christos d56fcfc956 fix unused variable warnings 2013-10-19 17:45:00 +00:00
christos 6298c31a51 add missing includes 2012-11-04 23:37:02 +00:00
manu ae04a0ba81 Do not set PUFFS_KFLAG_CACHE_FS_TTL for PUFFS tests 2012-04-21 01:03:46 +00:00
njoly 8e54f08b1f Check directory write access for DELETE operation. And while here,
small indentation adjust.
2012-01-31 18:56:07 +00:00
plunky 370326ddcb reinstate #ifdef PUFFSDUMP around otherwise unused function
which requires symbols from -lpuffs, not linked
2011-04-04 15:42:42 +00:00
pooka da0742f9b8 Reset node's parent pointer when it's removed. Technically the
parent still exists, but allows us to avoid complicated g/c algorithms
if the parent *is* removed.
2011-03-01 15:14:35 +00:00
pooka 9285c5cc41 update /dev/null rump minor to make test pass again 2011-02-10 20:10:54 +00:00
pooka 7bdde1ba6d Add test case for PR kern/44093 (fixed already, but tested to fail
without fix applied).
2010-11-15 20:39:00 +00:00
pooka 8c5fe271ac Remove accidentally committed part (which I need to run these tests
for a -current rump kernel on NetBSD 5.1)
2010-11-12 17:35:34 +00:00
pooka 284f30f020 Add test case for problem described by yamt in PR kern/44086.
"large writes with PUFFS_KFLAG_NOCACHE_PAGE ends up with EIO"
2010-11-12 17:33:28 +00:00
pooka 27e297079d poll the putter fd instead of doing a blocking read. Long story
short:  we don't have to wait for the fs syncer to run for the
close to succeed.
2010-08-27 12:42:21 +00:00
pooka d3df95fde3 Now that atf issue #53 has been fixed, remove the
child-must-dies-before-parent kludge.
2010-08-27 05:34:46 +00:00
pooka 19a6309ac7 Make random garbage more widely available. 2010-08-16 10:46:19 +00:00
pooka 7751445fe7 return correct errno 2010-08-12 09:22:14 +00:00
pooka 1a22a69ce5 the old thread which does not return not returning a value
undetectable to all but the sh3 compiler trick
2010-08-02 09:44:23 +00:00
pooka 9cf29ab3ea Fuzztest puffs mount. There are n different levels of testing:
each one pours more and more sane garbage into the args to that
the mount progresses further and further.  Level 8 (at least when
writing this comment) should be the one where mounting actually
succeeds.

Our metric of success is crash / no crash.
2010-07-31 17:11:45 +00:00
pooka 272fb16e97 Fold the puffs private and vfs tests mount/unmount routines together.
To achieve this, add a file system private parameter to the newfs
method (which will obviously not be used by vfs tests).

njoly ok
2010-07-30 16:15:05 +00:00
pooka 3ccd6a8fda support pathconf (more or less copypasted from ufs). for njoly's tests. 2010-07-21 06:58:25 +00:00
pooka 5aa789e743 Check that nobody raced us into the source dir while it was unlocked
in preparation for rename.
2010-07-14 21:24:40 +00:00
pooka 7d034c7a9d Return correct error values from a bunch of questionable renames.
There's no substitute for single-stepping do_sys_rename() into ffs
when trying to figure out what error should come from what layer...
well, at least apart from TNT.
2010-07-14 17:10:14 +00:00
pooka 6a86e782e9 * remove target node from right directory
* remove what i guess to be a useless if-clause (although with
  file systems you can never be sure)
2010-07-14 16:59:35 +00:00
pooka 28a6875445 check we don't rename onto a non-empty directory 2010-07-14 14:22:15 +00:00
pooka 58d9a55076 prevent rename of source directory under itself 2010-07-14 13:09:52 +00:00
jmmv 9d0b4b5bb8 Get rid of static Atffiles and let bsd.test.mk generate them on the fly. 2010-07-13 21:13:21 +00:00
pooka 84244a9f10 put stuff requiring -lpuffs behind -DPUFFSDUMP 2010-07-12 13:09:19 +00:00
pooka 373c282cc2 WARNS=2 2010-07-11 12:33:38 +00:00
pooka a436045559 Add some basic tests for inactive/reclaim. To make this possible,
adjust the read/write shovel threads so, that we can tap into the
operations between puffs(9) and the file server.
2010-07-11 12:26:19 +00:00
pooka 5544227ec7 Add test cases for file servers which present the root node not as
a directory but as a regular file, symbolic link (although that
can't be unmounted without killing the server!), fifo or character
device.
2010-07-07 10:49:51 +00:00
pooka 34edcf6bbe * need TESTSDIR
* remove force-fed -g
2010-07-06 16:43:48 +00:00
pooka 3d327ac6a6 NO ATFFILE HERE 2010-07-06 16:32:35 +00:00
pooka 42f6cd1ef7 Call rump_init() only after we have fork&exec'd the file server.
Otherwise the test would on rare occasions hang (I guess this was
due to calling sprintf/close between fork&exec in a threaded
program?).
2010-07-06 15:42:24 +00:00
pooka 81a57dd008 Add the most basic test for puffs(dtfs): mount/unmount. There's
still a lot of work to do here, but I want to get to testbuilding
the tree ;)

TODO examples:
* integrate this with rump_syspuffs (and remove the stupid ``sys'' from there)
* integrate with njoly's fs-independent tests
* cleanup a lot
* write more tests

*sigh*, I wish we'd had testing tools like this 5 years ago when
I was writing puffs.  It would have made a lot of things a lot
better and a lot easier.
2010-07-06 14:44:29 +00:00
pooka 3626443e21 Move the Delectable Test File System from share/examples/puffs/dtfs
to tests/fs/puffs/h_dtfs.

No functional change (apart from adjusting the Makefile for test builds).
2010-07-06 14:16:44 +00:00
pooka 7f396ca714 Move tests psshfs from fs/puffs to fs/psshfs. The former is going
to be populated by tests which actually test puffs soon.

jmmv ok
2010-07-06 14:06:21 +00:00
jmmv e834f57d5e Properly mark some test cases as having a cleanup routine. Stupidity of
the API?  Most likely; will revise it.

Fixes atf-run breaking when running t_psshfs.  This does not resolve the
underlying issue though, which is atf-run getting confused trying to
unmount the temporary mount point by itself (I think).  (I'm now wondering
if atf should be bothering about unmounting stuff at all.  Maybe not. It is
a tricky and uncommon thing.)
2010-07-05 16:27:08 +00:00
jmmv 6b84fb92ac atf-0.9 introduces an use.fs test-case property to allow tests to write to
their work directory.  The purpose is to be able to know which tests intend
to touch the file system and to allow a minor optimization in atf-run.

Define use.fs=true for all those tests requiring it.  (This highlights that
some tests currently require modifying the file system but conceptually
they shouldn't be... which leaves room for further improvements/cleanups
later :-)
2010-06-04 08:39:40 +00:00
jmmv 454557d79e Adjust tests to work with the new API in ATF 0.6. 2009-01-19 07:15:46 +00:00
martin 11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
jmmv 5166760e85 Re-add the NetBSD CVS Id tag to the header. It just had to be quoted to
be accepted by the parser; i.e. no bug in the code :-)

Note to self: do not try to "fix" stuff the last minute before going to
sleep.
2007-12-30 09:13:32 +00:00
jmmv ef8f5fcf1e Copy the host key into the work directory and tell the server to use this
instead of the source file, because we need to set strict permissions on it.
Otherwise sshd refuses to start.

Note that we cannot set the permissions of the installed ssh_config_key file
to 400 because unprivileged users could then be unable to run the tests.
2007-12-29 23:07:17 +00:00
jmmv 9644efc887 Use proper specification for a glob pattern. 2007-12-29 23:03:10 +00:00
jmmv 24b05c38e9 Back out the change to introduce the X-NetBSD-Id header entry. For some
reason the parser does not accept its contents...  You know, one should
always test even trivial changes!

Will review this in more depth tomorrow to find the real root cause of the
problem and rule out a fix for ATF.
2007-12-29 23:02:51 +00:00
jmmv 92f6ea962c Properly capture the output of the SSH server. Its -e flag is supposed to
be used alongside -D, but as this was not documented I thought it was a bug
and "fixed" -e's behavior locally (so I got the correct output before, but
nobody else).

Also, fix a race condition that could cause the SSH server to not be killed
if the pid file was not written before the kill, which might happen on very
fast machines.  There still may be a problem when trying to do the connection
if the server has not yet finished initialization...
2007-12-28 08:57:42 +00:00
jmmv c14077091f Install the data files. 2007-12-26 22:33:54 +00:00