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