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:           Fri Mar 24 20:05:32 UTC 2006
Modified Files:
        src/sys/ufs/lfs: lfs.h lfs_extern.h lfs_segment.c lfs_subr.c
            lfs_vfsops.c lfs_vnops.c
Log Message:
Improvements to LFS's paging mechanism, to wit:
* Acknowledge that sometimes there are more dirty pages to be written to
  disk than clean segments.  When we reach the danger line,
  lfs_gop_write() now returns EAGAIN.  The caller of VOP_PUTPAGES(), if
  it holds the segment lock, drops it and waits for the cleaner to make
  room before continuing.
* Note and avoid a three-way deadlock in lfs_putpages (a writer holding
  a page busy blocks on the cleaner while the cleaner blocks on the
  segment lock while lfs_putpages blocks on the page).
To generate a diff of this commit:
cvs rdiff -r1.96 -r1.97 src/sys/ufs/lfs/lfs.h
cvs rdiff -r1.75 -r1.76 src/sys/ufs/lfs/lfs_extern.h
cvs rdiff -r1.170 -r1.171 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -r1.56 -r1.57 src/sys/ufs/lfs/lfs_subr.c
cvs rdiff -r1.194 -r1.195 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -r1.157 -r1.158 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