Commit Graph

289 Commits

Author SHA1 Message Date
perseant
b8eed86991 Include testing of the roll-forward agent, when recreating the filesystem
partial-segment by partial-segment.  Each checkpoint should pass fsck_lfs -n
without errors; the results of fsck_lfs -p on non-checkpoints should also
pass fsck_lfs -n without errors.
2006-07-21 00:29:23 +00:00
kardel
e3768e33c9 - add check for kevent() timeouts
- use err() family for error reporting
2006-07-16 22:18:46 +00:00
kardel
e67415898c Add regressing test for timeout and sleep releated functions.
currently implemented tests:
	- check agreement of sleep time with real time (from system)
	  to be within 30ms
	- check for EINTR return code on processing SIGALRM signals
	- check for valid residual time if available from the interface
Tested interfaces:
	- nanotime(2)
	- select(2)
	- poll(2)
	- sleep(3)
2006-07-16 19:19:39 +00:00
martin
a3b5baed42 Fix alignement problems for fhandle_t, exposed by gcc4.1.
While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ,
version the getfh(2) syscall and explicitly pass the size available in
the filehandle from userland.

Discussed on tech-kern, with lots of help from yamt (thanks!).
2006-07-13 12:00:24 +00:00
perseant
1c57171fe3 Change LFCNWRAP{STOP,GO} to make them more suitable for snapshotting; in
particular, the caller can now choose whether to wait for the condition
to be met, and if the caller of LFCNWRAPSTOP dies or otherwise closes
the descriptor, the filesystem is started again.  Updated the ckckp
regression test to use the new semantics.

dump_lfs(8) now uses the fcntls to implement LFS-style snapshotting through
the -X flag, addressing PR#33457 albeit not using fss(4).  Fixed a couple
other problems with dump_lfs that manifested themselves during testing.
2006-06-24 05:28:54 +00:00
mrg
1a1dc23a34 #include <stdlib.h> for exit(3) prototype 2006-05-20 20:30:34 +00:00
mrg
249a83a430 sprinkle some (char *) to pacify GCC4. 2006-05-12 01:56:39 +00:00
mrg
03593f4470 #include <stdlib.h>. 2006-05-10 19:11:50 +00:00
mrg
37d2b2a6e9 use socklen_t where appropriate. 2006-05-10 19:10:09 +00:00
mrg
26e4f3cc1c extent_alloc_subregion1()'s 9th argument is a u_long *, not long *. 2006-05-10 19:09:11 +00:00
mrg
b141b31103 include <string.h>, <stdio.h> and <stdlib.h> as appropriate. 2006-05-10 19:07:22 +00:00
perseant
ebcbbf8093 Tabify. 2006-05-05 19:42:07 +00:00
perseant
0f4e4cae54 Allow the user to specify a file size in the ckckp regression test, including
the value zero (filling the filesystem with directories and empty file
inodes).
2006-05-05 19:38:30 +00:00
perseant
635007e1aa Remember to empty the filesystem between iterations, otherwise all
iterations after the first are no-ops.
2006-05-01 19:47:01 +00:00
perseant
ebaf398270 Be a little more careful about what we copy into the working file when;
this takes care of another class of false positives.  Add copyright
assignments.
2006-04-27 22:37:54 +00:00
perseant
7cd0266a27 Regression test improvements:
Move the stop for LFCNWRAPSTOP to the point at which writing at segment 0
is really about to commence, since this is what the test expects (and
incidentally what a snapshotting utility wants as well).

More correctly reconstruct the on-disk state at every checkpoint, rather
than relying on the entire state at the point of wrapping to be accurate
(that is only true the first time we wrap).  Add a "make abort" target to
make rerunning the test more convenient when it has failed and we're done
analyzing the failure.
2006-04-22 00:10:54 +00:00
perseant
0268059112 Introduce two fcntl calls that freeze the filesystem right at the point
where segment 0 is being considered for writing.  This allows for automated
checkpoint vailidity scanning, and could be used (in conjunction with the
existing LFCNREWIND) for e.g. snapshot dumps as well.

Include a regression test that does such scanning.

When writing the Ifile, loop through the dirty block list three times to
make sure that the checkpoint is always consistent (the first and second
times the Ifile blocks can cross a segment boundary; not so the third time
unless the segments are very small).  Discovered by using the aforementioned
regression test.
2006-04-17 20:02:34 +00:00
simonb
972aec407b Make this regression test work with objdirs. 2006-04-16 16:21:05 +00:00
martti
9ea58d54bc Upgraded IPFilter to 4.1.13 2006-04-04 16:17:18 +00:00
martti
983a2072ce Import IPFilter 4.1.13 2006-04-04 16:08:18 +00:00
martin
4b70f3655f Use /dev/MAKEDEV to create devices - instead of hardcoding i386 majors. 2006-03-26 20:27:52 +00:00
jmmv
0eee8b4ede Decrement the size value passed to test-mount by one unit so that it fits
in a 64-bit signed integer (thus ensuring that mount_tmpfs handles these
correctly).

Also check that the previous (big) value fails.

This makes this test behave correctly on all platforms (not only 64-bit
ones) after the fix commited to mount_tmpfs.
2006-03-26 16:19:04 +00:00
pavel
02a38a5320 Regression test for reads past the end of a packet (out of bounds reads).
Those should abort the bpf program.

The test currently fails (out of bound reads silently return zeros), but
succeeds if lo0 is replaced by an Ethernet interface and 127.0.0.1 by an
address reachable through it.

A fix is being worked on.

Approved by martin.
2006-03-24 13:54:58 +00:00
martin
a090457a0b Ensure proper buffer alignement. OK'd by yamt. 2006-03-20 08:57:37 +00:00
jmmv
5f4c11af49 WARNS=4
One of the changes fixes Coverity CID 2468 (use of uninitialized error
variable in main).
2006-03-18 17:09:35 +00:00
rpaulo
9c7380b5d3 Moved to interface/interface.c 2005-12-25 22:24:57 +00:00
rpaulo
31e9b918de Change ioctls.c to interface/interface.c to accomodate further
addition of regressions tests.
2005-12-25 22:07:01 +00:00
perry
8a331c8f36 __asm__ -> __asm, __volatile__ -> volatile 2005-12-24 21:43:51 +00:00
perry
0be44b35dc Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 21:22:46 +00:00
rpaulo
cf7672baed Descend into posix_fadvise/ 2005-12-19 17:50:02 +00:00
rpaulo
9c3930a81d Descend into net/. 2005-12-14 23:56:45 +00:00
rpaulo
5233f18e7f Add a simple program to test bpf ioctls. A more comprehensive test for
bpf filters will follow up shortly.
2005-12-14 23:55:02 +00:00
yamt
f3d3b4af4f test posix_fadvise. 2005-11-22 12:18:43 +00:00
jmmv
456d1fea79 Check that symlinks to directories work as expected. 2005-10-03 19:38:57 +00:00
jmmv
7f4f9fe044 Check that both the kernel and mount_tmpfs handle extremely big numbers in
correctly in the max size parameter.
2005-09-26 09:50:53 +00:00
jmmv
b35a89f13c Sanity check negative values in the maximum size and number of nodes
arguments to avoid a crash while mounting a tmpfs file system.  Add a
regression test for this too.  Noticed by chs@.
2005-09-25 16:28:43 +00:00
jmmv
d83dd97e63 Make this test timezone-agnostic so that it works in different timezones.
Found by riz@.
2005-09-23 19:41:39 +00:00
jmmv
b0085cab71 Kill the tmpfs(9) manual page; it was just documenting internal details of
tmpfs' "API" and was already rotting.

Instead, merge all the relevant comments into the code.  This includes
acknowledgements to Google's Summer of Code 2005 program (they were in the
AUTHORS section of tmpfs(9) before), so all the files need to be changed
to include this sentence alongside the title.  (Note that this was not a
requirement of the program.)
2005-09-23 15:36:15 +00:00
jmmv
5d6f54160e Fix test after the changes to skip 0 and 1 node identifiers. 2005-09-23 14:11:15 +00:00
jmmv
2ddaf8b92b Nodes cannot use the '0' identifier or they will be skipped by readdir.
E.g., the root node's '.' and '..' directory entries did not appear in
a directory list, because the root node always holds the first id.
2005-09-13 21:30:52 +00:00
jmmv
8e0a777ab1 wiz@ remembers that the preferred way to spell file-system in NetBSD is
file system.
2005-09-10 22:28:57 +00:00
jmmv
c6a6458ca8 Lower the maximum number of vnodes while running this test. Otherwise,
it won't ever succeed with default values.
2005-09-10 19:39:18 +00:00
jmmv
ec93365612 Initial addition of tmpfs, an efficient memory file-system. This project
was developed as part of Google's Summer of Code 2005 program.  This
change adds the kernel code, the mount_tmpfs utility, a regression test
suite and does all other related changes to integrate these.

The file-system is still *experimental*.  Therefore, it is disabled by
default in all kernels.  However, as typically done, a commented-out
entry is added in them to ease its setup.

Note that I haven't commited the required mountd(8) changes to be able
to export tmpfs file-systems because NFS support is still very unstable
and because, before enabling it, I'd like to do some other changes.

OK'ed by my project mentor, William Studenmund (wrstuden@).
2005-09-10 19:20:48 +00:00
yamt
e55179f33a cast f_fileno to uint64_t to be more portable. 2005-08-20 05:25:16 +00:00
christos
d0fa934dc3 More fallout from ino_t 64 bit changes (from Kurt) 2005-08-19 12:47:10 +00:00
lukem
7f4d732106 appease gcc -Wuninitialized 2005-06-02 11:10:00 +00:00
martti
58b8abcbf8 Upgraded IPFilter to 4.1.8 2005-04-03 15:05:30 +00:00
martti
c775aec128 Import IPFilter 4.1.8 2005-04-03 15:01:04 +00:00
bouyer
e9e4c49142 Add a test for the bug fixed in subr_extent.c rev 1.51. 2005-03-15 18:27:23 +00:00
perseant
5d2f3e4908 Various minor LFS improvements:
* Extend the lfs library from fsck_lfs(8) so that it can be used with a
  not-yet-existent LFS.  Make newfs_lfs(8) use this library, so it can
  create LFSs whose Ifile is larger than one segment.
* Make newfs_lfs(8) use strsuftoi64() for its arguments, a la newfs(8).
* Make fsck_lfs(8) respect the "file system is clean" flag.
* Don't let fsck_lfs(8) think it has dirty blocks when invoked with the
  -n flag.
2005-02-26 05:45:54 +00:00