History log of /src/regress/sys/fs |
Revision | Date | Author | Comments |
1.9 | 14-May-2017 |
kamil | Remove regress getdents test, obsoleted by ATF tests
There are ATF tests using rumpkernel to verify getdents: - tests/fs/hfs/t_pathconvert - tests/fs/kernfs/t_basic - tests/fs/vfs/t_union
|
1.8 | 20-Feb-2009 |
jmmv | branches: 1.8.36; Remove the kernel and ipf tests that have been converted to atf and now live in the tests subtree.
|
1.7 | 12-Nov-2007 |
jmmv | branches: 1.7.14; Convert the regress/sys/fs/tmpfs tests to the atf
This change converts all the existing regression tests in regress/sys/fs/tmpfs to the new framework provided by atf. As a side effect, this also moves all the tests programs in regress/sys/fs/tmpfs to tests/fs/tmpfs.
|
1.6 | 21-Sep-2006 |
reinoud | branches: 1.6.8; Add simple lseek() test on a standard file. Standard it runs on the /var/log/messages file wich is most likely not interesting but the regression test can work on every specified filingsystem by passing a file on that filingsystem to it as argument.
It tests: - initial position - seeking absolute position - seeking end - seeking negative relative position
more can be added later.
|
1.5 | 19-Dec-2005 |
rpaulo | Descend into posix_fadvise/
|
1.4 | 10-Sep-2005 |
jmmv | 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@).
|
1.3 | 03-Oct-2004 |
yamt | test getdents(2). currently fail on nfs.
|
1.2 | 27-Jan-2002 |
thorpej | Add a regression test for mkdir(2) and rmdir(2).
|
1.1 | 10-Mar-1999 |
bouyer | Makefile for filesystem regression tests subdir.
|
1.6.8.1 | 09-Jan-2008 |
matt | sync with HEAD
|
1.7.14.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.8.36.1 | 19-May-2017 |
pgoyette | Resolve conflicts from previous merge (all resulting from $NetBSD keywork expansion)
|
1.1 | 18-Aug-2002 |
itojun | don't install regress test programs
|
1.8 | 08-Sep-2024 |
rillig | fix a/an grammar in obvious cases
|
1.7 | 16-Jan-2014 |
christos | branches: 1.7.38; eliminate use of bsd.sys.mk from Makefiles
|
1.6 | 30-Jun-2004 |
jmc | branches: 1.6.48; 1.6.54; Add missing NetBSD ID tags
|
1.5 | 26-Oct-2003 |
lukem | Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH; Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
|
1.4 | 09-Apr-2002 |
tron | Use a local disktab instead of requiring "floppy288" to be in "/etc/disktab" as suggested by Simon Burge.
|
1.3 | 09-Apr-2002 |
tron | Add a note that the kernel needs FFS Endian Independent support to perform this test.
|
1.2 | 10-Mar-1999 |
bouyer | Note that this is derived from PR 6706 submitted by Brian Grayson.
|
1.1 | 10-Mar-1999 |
bouyer | FFS regression tests: tests newfs, kernel, fsck_ffs and dump/restore.
|
1.6.54.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.6.48.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.7.38.1 | 02-Aug-2025 |
perseant | Sync with HEAD
|
1.1 | 09-Apr-2002 |
tron | Use a local disktab instead of requiring "floppy288" to be in "/etc/disktab" as suggested by Simon Burge.
|
1.1 | 10-Mar-1999 |
bouyer | FFS regression tests: tests newfs, kernel, fsck_ffs and dump/restore.
|
1.2 | 29-Jan-2003 |
perseant | 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".
|
1.1 | 02-Aug-2002 |
perseant | 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.
|
1.3 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.2 | 09-Aug-2002 |
soren | branches: 1.2.30; Remove extraneous \n's in {err,warn}{,x}.
|
1.1 | 02-Aug-2002 |
perseant | 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.
|
1.2.30.1 | 18-May-2008 |
yamt | sync with head.
|
1.2 | 18-Sep-2002 |
lukem | 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
|
1.1 | 02-Aug-2002 |
perseant | 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.
|
1.7 | 11-Nov-2006 |
jmmv | 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@.
|
1.6 | 21-Jul-2006 |
perseant | 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.
|
1.5 | 24-Jun-2006 |
perseant | 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.
|
1.4 | 05-May-2006 |
perseant | 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).
|
1.3 | 27-Apr-2006 |
perseant | 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.
|
1.2 | 22-Apr-2006 |
perseant | 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.
|
1.1 | 17-Apr-2006 |
perseant | 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.
|
1.5 | 30-Apr-2008 |
martin | Convert TNF licenses to new 2 clause variant
|
1.4 | 21-Jul-2006 |
perseant | branches: 1.4.18; 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.
|
1.3 | 27-Apr-2006 |
perseant | 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.
|
1.2 | 22-Apr-2006 |
perseant | 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.
|
1.1 | 17-Apr-2006 |
perseant | 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.
|
1.4.18.1 | 18-May-2008 |
yamt | sync with head.
|
1.6 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.5 | 21-Jul-2006 |
perseant | branches: 1.5.18; 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.
|
1.4 | 24-Jun-2006 |
perseant | 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.
|
1.3 | 27-Apr-2006 |
perseant | 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.
|
1.2 | 22-Apr-2006 |
perseant | 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.
|
1.1 | 17-Apr-2006 |
perseant | 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.
|
1.5.18.1 | 18-May-2008 |
yamt | sync with head.
|
1.7 | 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.6 | 21-Jul-2006 |
perseant | branches: 1.6.18; 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.
|
1.5 | 05-May-2006 |
perseant | Tabify.
|
1.4 | 05-May-2006 |
perseant | 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).
|
1.3 | 01-May-2006 |
perseant | Remember to empty the filesystem between iterations, otherwise all iterations after the first are no-ops.
|
1.2 | 27-Apr-2006 |
perseant | 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.
|
1.1 | 17-Apr-2006 |
perseant | 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.
|
1.6.18.1 | 18-May-2008 |
yamt | sync with head.
|
1.2 | 24-Jun-2006 |
perseant | 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.
|
1.1 | 22-Apr-2006 |
perseant | 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.
|
1.4 | 21-Jul-2006 |
perseant | 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.
|
1.3 | 05-May-2006 |
perseant | 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).
|
1.2 | 22-Apr-2006 |
perseant | 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.
|
1.1 | 17-Apr-2006 |
perseant | 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.
|
1.4 | 26-Feb-2005 |
perseant | 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.
|
1.3 | 03-Feb-2003 |
perseant | branches: 1.3.4; Break out fsck function; add rename hard link test; change small files test to provoke the cleaner into running as well.
|
1.2 | 29-Jan-2003 |
perseant | Make the test a little less demanding (write 800k files instead of 1600k).
|
1.1 | 29-Jan-2003 |
perseant | 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".
|
1.3.4.1 | 10-May-2005 |
riz | Pull up the following revisions (requested by perseant in ticket #1281):
1.8 sys/ufs/lfs/TODO 1.75 sys/ufs/lfs/lfs.h (via patch) 1.74 sys/ufs/lfs/lfs_alloc.c (via patch) 1.49, 1.51 sys/ufs/lfs/lfs_balloc.c (1.51 via patch) 1.78 sys/ufs/lfs/lfs_bio.c 1.62 sys/ufs/lfs/lfs_extern.h (via patch) 1.156 sys/ufs/lfs/lfs_segment.c (via patch) 1.48 sys/ufs/lfs/lfs_subr.c 1.101 sys/ufs/lfs/lfs_syscalls.c 1.163 sys/ufs/lfs/lfs_vfsops.c (via patch) 1.134 sys/ufs/lfs/lfs_vnops.c (via patch) 1.61 sys/ufs/ufs/ufs_readwrite.c (via patch)
1.20 libexec/lfs_cleanerd/clean.h (via patch) 1.52 libexec/lfs_cleanerd/cleanerd.c (via patch) 1.41 libexec/lfs_cleanerd/library.c (via patch)
1.4 regress/sys/fs/lfs/newfs_fsck/Makefile 1.2 regress/sys/fs/lfs/newfs_fsck/mkfs_mount 1.2 regress/sys/fs/lfs/newfs_fsck/smallfiles 1.3 sbin/fsck_lfs/bufcache.c 1.3 sbin/fsck_lfs/bufcache.h 1.3 sbin/fsck_lfs/lfs.h 1.8 sbin/fsck_lfs/lfs.c (via patch) 1.8 sbin/fsck_lfs/pass3.c (via patch) 1.18 sbin/fsck_lfs/pass0.c (via patch) 1.18 sbin/fsck_lfs/utilities.c (via patch) 1.7 sbin/fsck_lfs/segwrite.c 1.19 sbin/fsck_lfs/setup.c (via patch) 1.3 sbin/newfs_lfs/Makefile 0 sbin/newfs_lfs/lfs.c (yes, remove it) 1.1 sbin/newfs_lfs/make_lfs.c 1.15 sbin/newfs_lfs/newfs.c (via patch)
Various minor LFS improvements.
Kernel:
* Note when lfs_putpages(9) thinks it is not going to be writing any pages before calling genfs_putpages(9). This prevents a situation in which blocks can be queued for writing without a segment header. * Correct computation of NRESERVE(), though it is still a gross overestimate in most cases. Note that if NRESERVE() is too high, it may be impossible to create files on the filesystem. We catch this case on filesystem mount and refuse to mount r/w. * Allow filesystems to be mounted whose block size is == MAXBSIZE. * Somewhere along the line, ufs_bmaparray(9) started mangling UNWRITTEN entries in indirect blocks again, triggering a failed assertion "daddr <= LFS_MAX_DADDR". Explicitly convert to and from int32_t to correct this. Should fix PR #29045. * Add a high-water mark for the number of dirty pages any given LFS can hold before triggering a flush. This is settable by sysctl, but off (zero) by default. * Be more careful about the MAX_BYTES and MAX_BUFS computations so we shouldn't see "please increase to at least zero" messages. * Note that VBLK and VCHR vnodes can have nonzero values in di_db[0] even though their v_size == 0. Don't panic when we see this. Fixes PR #26680. * Change lfs_bfree to a signed quantity. The manner in which it is processed before being passed to the cleaner means that sometimes it may drop below zero, and the cleaner must be aware of this. * Never report bfree < 0 (or higher than lfs_dsize) through lfs_statfs(9). This prevents df(1) from ever telling us that our full filesystems have 16TB free. * Account space allocated through lfs_balloc(9) that does not have associated buffer headers, so that the pagedaemon doesn't run us out of segments. * Return ENOSPC from lfs_balloc(9) when bfree drops to zero. * Address a deadlock in lfs_bmapv/lfs_markv when the filesystem is being unmounted. Because vfs_busy() is a shared lock, and lfs_bmapv/lfs_markv mark the filesystem vfs_busy(), the cleaner can be holding the lock that umount() is blocking on, then try to vfs_busy() again in getnewvnode().
cleaner:
* Adapt lfs_cleanerd to use the fcntl call to get the Ifile filehandle, so it need not be in the namespace. * Make lfs_cleanerd be more careful when there are very few available segments. * Make lfs_cleanerd less verbose when the filesystem is unmounted.
newfs_lfs, fsck_lfs, and regression:
* 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. Addresses PR #11110. * 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. * Remove the Ifile from the filesystem namespace. The cleaner now uses a fcntl call on the root inode to find the Ifile filehandle. (As a side-effect, addresses PR #29144.)
|
1.1 | 29-Jan-2003 |
perseant | 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".
|
1.2 | 26-Feb-2005 |
perseant | 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.
|
1.1 | 03-Feb-2003 |
perseant | branches: 1.1.4; Break out fsck function; add rename hard link test; change small files test to provoke the cleaner into running as well.
|
1.1.4.1 | 10-May-2005 |
riz | Pull up the following revisions (requested by perseant in ticket #1281):
1.8 sys/ufs/lfs/TODO 1.75 sys/ufs/lfs/lfs.h (via patch) 1.74 sys/ufs/lfs/lfs_alloc.c (via patch) 1.49, 1.51 sys/ufs/lfs/lfs_balloc.c (1.51 via patch) 1.78 sys/ufs/lfs/lfs_bio.c 1.62 sys/ufs/lfs/lfs_extern.h (via patch) 1.156 sys/ufs/lfs/lfs_segment.c (via patch) 1.48 sys/ufs/lfs/lfs_subr.c 1.101 sys/ufs/lfs/lfs_syscalls.c 1.163 sys/ufs/lfs/lfs_vfsops.c (via patch) 1.134 sys/ufs/lfs/lfs_vnops.c (via patch) 1.61 sys/ufs/ufs/ufs_readwrite.c (via patch)
1.20 libexec/lfs_cleanerd/clean.h (via patch) 1.52 libexec/lfs_cleanerd/cleanerd.c (via patch) 1.41 libexec/lfs_cleanerd/library.c (via patch)
1.4 regress/sys/fs/lfs/newfs_fsck/Makefile 1.2 regress/sys/fs/lfs/newfs_fsck/mkfs_mount 1.2 regress/sys/fs/lfs/newfs_fsck/smallfiles 1.3 sbin/fsck_lfs/bufcache.c 1.3 sbin/fsck_lfs/bufcache.h 1.3 sbin/fsck_lfs/lfs.h 1.8 sbin/fsck_lfs/lfs.c (via patch) 1.8 sbin/fsck_lfs/pass3.c (via patch) 1.18 sbin/fsck_lfs/pass0.c (via patch) 1.18 sbin/fsck_lfs/utilities.c (via patch) 1.7 sbin/fsck_lfs/segwrite.c 1.19 sbin/fsck_lfs/setup.c (via patch) 1.3 sbin/newfs_lfs/Makefile 0 sbin/newfs_lfs/lfs.c (yes, remove it) 1.1 sbin/newfs_lfs/make_lfs.c 1.15 sbin/newfs_lfs/newfs.c (via patch)
Various minor LFS improvements.
Kernel:
* Note when lfs_putpages(9) thinks it is not going to be writing any pages before calling genfs_putpages(9). This prevents a situation in which blocks can be queued for writing without a segment header. * Correct computation of NRESERVE(), though it is still a gross overestimate in most cases. Note that if NRESERVE() is too high, it may be impossible to create files on the filesystem. We catch this case on filesystem mount and refuse to mount r/w. * Allow filesystems to be mounted whose block size is == MAXBSIZE. * Somewhere along the line, ufs_bmaparray(9) started mangling UNWRITTEN entries in indirect blocks again, triggering a failed assertion "daddr <= LFS_MAX_DADDR". Explicitly convert to and from int32_t to correct this. Should fix PR #29045. * Add a high-water mark for the number of dirty pages any given LFS can hold before triggering a flush. This is settable by sysctl, but off (zero) by default. * Be more careful about the MAX_BYTES and MAX_BUFS computations so we shouldn't see "please increase to at least zero" messages. * Note that VBLK and VCHR vnodes can have nonzero values in di_db[0] even though their v_size == 0. Don't panic when we see this. Fixes PR #26680. * Change lfs_bfree to a signed quantity. The manner in which it is processed before being passed to the cleaner means that sometimes it may drop below zero, and the cleaner must be aware of this. * Never report bfree < 0 (or higher than lfs_dsize) through lfs_statfs(9). This prevents df(1) from ever telling us that our full filesystems have 16TB free. * Account space allocated through lfs_balloc(9) that does not have associated buffer headers, so that the pagedaemon doesn't run us out of segments. * Return ENOSPC from lfs_balloc(9) when bfree drops to zero. * Address a deadlock in lfs_bmapv/lfs_markv when the filesystem is being unmounted. Because vfs_busy() is a shared lock, and lfs_bmapv/lfs_markv mark the filesystem vfs_busy(), the cleaner can be holding the lock that umount() is blocking on, then try to vfs_busy() again in getnewvnode().
cleaner:
* Adapt lfs_cleanerd to use the fcntl call to get the Ifile filehandle, so it need not be in the namespace. * Make lfs_cleanerd be more careful when there are very few available segments. * Make lfs_cleanerd less verbose when the filesystem is unmounted.
newfs_lfs, fsck_lfs, and regression:
* 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. Addresses PR #11110. * 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. * Remove the Ifile from the filesystem namespace. The cleaner now uses a fcntl call on the root inode to find the Ifile filehandle. (As a side-effect, addresses PR #29144.)
|
1.2 | 26-Feb-2005 |
perseant | 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.
|
1.1 | 03-Feb-2003 |
perseant | branches: 1.1.4; Break out fsck function; add rename hard link test; change small files test to provoke the cleaner into running as well.
|
1.1.4.1 | 10-May-2005 |
riz | Pull up the following revisions (requested by perseant in ticket #1281):
1.8 sys/ufs/lfs/TODO 1.75 sys/ufs/lfs/lfs.h (via patch) 1.74 sys/ufs/lfs/lfs_alloc.c (via patch) 1.49, 1.51 sys/ufs/lfs/lfs_balloc.c (1.51 via patch) 1.78 sys/ufs/lfs/lfs_bio.c 1.62 sys/ufs/lfs/lfs_extern.h (via patch) 1.156 sys/ufs/lfs/lfs_segment.c (via patch) 1.48 sys/ufs/lfs/lfs_subr.c 1.101 sys/ufs/lfs/lfs_syscalls.c 1.163 sys/ufs/lfs/lfs_vfsops.c (via patch) 1.134 sys/ufs/lfs/lfs_vnops.c (via patch) 1.61 sys/ufs/ufs/ufs_readwrite.c (via patch)
1.20 libexec/lfs_cleanerd/clean.h (via patch) 1.52 libexec/lfs_cleanerd/cleanerd.c (via patch) 1.41 libexec/lfs_cleanerd/library.c (via patch)
1.4 regress/sys/fs/lfs/newfs_fsck/Makefile 1.2 regress/sys/fs/lfs/newfs_fsck/mkfs_mount 1.2 regress/sys/fs/lfs/newfs_fsck/smallfiles 1.3 sbin/fsck_lfs/bufcache.c 1.3 sbin/fsck_lfs/bufcache.h 1.3 sbin/fsck_lfs/lfs.h 1.8 sbin/fsck_lfs/lfs.c (via patch) 1.8 sbin/fsck_lfs/pass3.c (via patch) 1.18 sbin/fsck_lfs/pass0.c (via patch) 1.18 sbin/fsck_lfs/utilities.c (via patch) 1.7 sbin/fsck_lfs/segwrite.c 1.19 sbin/fsck_lfs/setup.c (via patch) 1.3 sbin/newfs_lfs/Makefile 0 sbin/newfs_lfs/lfs.c (yes, remove it) 1.1 sbin/newfs_lfs/make_lfs.c 1.15 sbin/newfs_lfs/newfs.c (via patch)
Various minor LFS improvements.
Kernel:
* Note when lfs_putpages(9) thinks it is not going to be writing any pages before calling genfs_putpages(9). This prevents a situation in which blocks can be queued for writing without a segment header. * Correct computation of NRESERVE(), though it is still a gross overestimate in most cases. Note that if NRESERVE() is too high, it may be impossible to create files on the filesystem. We catch this case on filesystem mount and refuse to mount r/w. * Allow filesystems to be mounted whose block size is == MAXBSIZE. * Somewhere along the line, ufs_bmaparray(9) started mangling UNWRITTEN entries in indirect blocks again, triggering a failed assertion "daddr <= LFS_MAX_DADDR". Explicitly convert to and from int32_t to correct this. Should fix PR #29045. * Add a high-water mark for the number of dirty pages any given LFS can hold before triggering a flush. This is settable by sysctl, but off (zero) by default. * Be more careful about the MAX_BYTES and MAX_BUFS computations so we shouldn't see "please increase to at least zero" messages. * Note that VBLK and VCHR vnodes can have nonzero values in di_db[0] even though their v_size == 0. Don't panic when we see this. Fixes PR #26680. * Change lfs_bfree to a signed quantity. The manner in which it is processed before being passed to the cleaner means that sometimes it may drop below zero, and the cleaner must be aware of this. * Never report bfree < 0 (or higher than lfs_dsize) through lfs_statfs(9). This prevents df(1) from ever telling us that our full filesystems have 16TB free. * Account space allocated through lfs_balloc(9) that does not have associated buffer headers, so that the pagedaemon doesn't run us out of segments. * Return ENOSPC from lfs_balloc(9) when bfree drops to zero. * Address a deadlock in lfs_bmapv/lfs_markv when the filesystem is being unmounted. Because vfs_busy() is a shared lock, and lfs_bmapv/lfs_markv mark the filesystem vfs_busy(), the cleaner can be holding the lock that umount() is blocking on, then try to vfs_busy() again in getnewvnode().
cleaner:
* Adapt lfs_cleanerd to use the fcntl call to get the Ifile filehandle, so it need not be in the namespace. * Make lfs_cleanerd be more careful when there are very few available segments. * Make lfs_cleanerd less verbose when the filesystem is unmounted.
newfs_lfs, fsck_lfs, and regression:
* 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. Addresses PR #11110. * 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. * Remove the Ifile from the filesystem namespace. The cleaner now uses a fcntl call on the root inode to find the Ifile filehandle. (As a side-effect, addresses PR #29144.)
|