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