Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/ufs/lfs
Module Name: src
Committed By: perseant
Date: Tue Dec 2 01:23:09 UTC 2025
Modified Files:
src/sys/ufs/lfs: lfs.h lfs_accessors.h lfs_alloc.c lfs_bio.c
lfs_extern.h lfs_itimes.c lfs_kclean.c lfs_rfw.c lfs_segment.c
lfs_subr.c lfs_vfsops.c lfs_vnops.c
Log Message:
* Use the LFS_IFDIRTY flag to keep track of whether the Ifile has
ungathered changes during checkpoint. Modify LFS_WRITESEGENTRY and
make a new LFS_WRITEIENTRY macro to help track this. Prevents
an infinite loop in lfs_writeinode, previously caught with a panic.
* Fix a false-positive "negative bytes" panic when writing inodes into
the same segment they were in before, and consolidate the accounting
logic into new function lfs_subtract_inode.
* Ensure that we do not clean any inodes that were unavailable during
the first pass of cleaning, so that we never need to mix cleaning and
non-cleaning blocks (except for the Ifile) when writing.
* Straighten out the logic in lfs_writefile to make it more readable.
* Include IMNT_WANTRDONLY in tests for closing out writes, not just
IMNT_UNMOUNT.
* Keep track of whether the kernel cleaner is active on a file system
with a status flag; use a condvar to synchronously turn this on
or off.
To generate a diff of this commit:
cvs rdiff -u -r1.213 -r1.214 src/sys/ufs/lfs/lfs.h
cvs rdiff -u -r1.56 -r1.57 src/sys/ufs/lfs/lfs_accessors.h
cvs rdiff -u -r1.147 -r1.148 src/sys/ufs/lfs/lfs_alloc.c
cvs rdiff -u -r1.152 -r1.153 src/sys/ufs/lfs/lfs_bio.c
cvs rdiff -u -r1.126 -r1.127 src/sys/ufs/lfs/lfs_extern.h
cvs rdiff -u -r1.20 -r1.21 src/sys/ufs/lfs/lfs_itimes.c
cvs rdiff -u -r1.2 -r1.3 src/sys/ufs/lfs/lfs_kclean.c
cvs rdiff -u -r1.41 -r1.42 src/sys/ufs/lfs/lfs_rfw.c
cvs rdiff -u -r1.300 -r1.301 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -u -r1.108 -r1.109 src/sys/ufs/lfs/lfs_subr.c
cvs rdiff -u -r1.393 -r1.394 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -u -r1.348 -r1.349 src/sys/ufs/lfs/lfs_vnops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index