Commit Graph

16 Commits

Author SHA1 Message Date
jmmv
2947e73b43 Move lfs_cleanerd from /usr/libexec to /libexec. This is to allow putting
the root file system on a LFS volume.

Addresses PR bin/30407.  No objections in tech-userlevel@.
2006-11-11 14:47:27 +00:00
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
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
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
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
perseant
99afa7f9a5 Break out fsck function; add rename hard link test; change small files
test to provoke the cleaner into running as well.
2003-02-03 07:45:05 +00:00
perseant
4783b17664 Make the test a little less demanding (write 800k files instead of 1600k). 2003-01-29 05:39:41 +00:00
perseant
26c05673ea Regression test to ensure that (1) newfs_lfs and fsck_lfs agree about
what makes up a good filesystem; and that (2) the kernel and fsck_lfs
also agree.  This test, like the 9994 test and like the FFS endianness
test, is not included in the main "make regress".
2003-01-29 04:56:16 +00:00
lukem
08c81a9c2d some makefile de-linting
- list NOxxx and LDSTATIC= assignments before everything else
  (especially <bsd.own.mk>)
- ensure <bsd.own.mk> is included before NETBSDSRCDIR is used
- add missing RCSids
2002-09-18 05:41:35 +00:00
soren
642c31b4a3 Remove extraneous \n's in {err,warn}{,x}. 2002-08-09 10:01:53 +00:00
perseant
479f3c7ea7 Add regression tests section for LFS. First regression test is based on
IWAMOTO Toshihiro's test program submitted with PR #9994, modified to
perform the same operations on a control file, presumably held in a
known-working filesystem.  Test and control files are compared with "diff"
after the run (assuming that the kernel does not panic, which is really
the main point of the test).

Not included in the parent Makefile's list, as it requires the existence of
an LFS of some size.
2002-08-02 19:10:49 +00:00