Commit Graph

54 Commits

Author SHA1 Message Date
christos
6d46df7548 PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries,
fifo_vnodeop_opv_desc symbols.

Many filesystems ffs, lfs, ulfs, chfs, ext2fs etc. use fifofs
internally for their fifo vnops. NFS does too, but it also needs
networking anyway.  Unfortunately fifofs brings in a lot of the
networking code so that the rumpkernel is not well partition. In
addition the fifo code is rarely used.

The existing hack depended on duplicating the above symbols and
adding minimal functionality for the majority of the the tests
(except the ffs and the puffs one). In these two cases both symbols
were loaded and the symbol sizes clashed which broke the sanitizers.
While this can be fixed with weak symbols and other kinds of
indirection, it is more straight forward to select between the
minimal and the full fifofs implementation by introducing a new
shared library librumpvfs_nofifofs.
2020-05-15 23:32:27 +00:00
christos
0dc8cda9a3 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.
2020-03-01 18:08:12 +00:00
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