Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   perseant
Date:           Mon Feb 17 23:48:26 UTC 2003

Modified Files:
        src/libexec/lfs_cleanerd: print.c
        src/sbin/fsck_lfs: inode.c pass0.c
        src/sys/conf: osrelease.sh
        src/sys/miscfs/genfs: genfs_node.h genfs_vnops.c
        src/sys/nfs: nfs_node.c
        src/sys/sys: param.h
        src/sys/ufs/ffs: ffs_extern.h ffs_vfsops.c ffs_vnops.c
        src/sys/ufs/lfs: TODO lfs.h lfs_alloc.c lfs_balloc.c lfs_bio.c
            lfs_cksum.c lfs_debug.c lfs_extern.h lfs_inode.c lfs_segment.c
            lfs_subr.c lfs_syscalls.c lfs_vfsops.c lfs_vnops.c
        src/sys/ufs/ufs: inode.h ufs_extern.h ufs_inode.c ufs_readwrite.c
            ufs_vnops.c
        src/sys/uvm: uvm_page.c uvm_pager.h
        src/usr.sbin/dumplfs: dumplfs.c
        src/usr.sbin/quotaon: quotaon.c

Log Message:
Add code to UBCify LFS.  This is still behind "#ifdef LFS_UBC" for now
(there are still some details to work out) but expect that to go
away soon.  To support these basic changes (creation of lfs_putpages,
lfs_gop_write, mods to lfs_balloc) several other changes were made, to
wit:

* Create a writer daemon kernel thread whose purpose is to handle page
  writes for the pagedaemon, but which also takes over some of the
  functions of lfs_check().  This thread is started the first time an
  LFS is mounted.

* Add a "flags" parameter to GOP_SIZE.  Current values are
  GOP_SIZE_READ, meaning that the call should return the size of the
  in-core version of the file, and GOP_SIZE_WRITE, meaning that it
  should return the on-disk size.  One of GOP_SIZE_READ or
  GOP_SIZE_WRITE must be specified.

* Instead of using malloc(...M_WAITOK) for everything, reserve enough
  resources to get by and use malloc(...M_NOWAIT), using the reserves if
  necessary.  Use the pool subsystem for structures small enough that
  this is feasible.  This also obsoletes LFS_THROTTLE.

And a few that are not strictly necessary:

* Moves the LFS inode extensions off onto a separately allocated
  structure; getting closer to LFS as an LKM.  "Welcome to 1.6O."

* Unified GOP_ALLOC between FFS and LFS.

* Update LFS copyright headers to correct values.

* Actually cast to unsigned in lfs_shellsort, like the comment says.

* Keep track of which segments were empty before the previous
  checkpoint; any segments that pass two checkpoints both dirty and
  empty can be summarily cleaned.  Do this.  Right now lfs_segclean
  still works, but this should be turned into an effectless
  compatibility syscall.


To generate a diff of this commit:
cvs rdiff -r1.13 -r1.14 src/libexec/lfs_cleanerd/print.c
cvs rdiff -r1.14 -r1.15 src/sbin/fsck_lfs/inode.c
cvs rdiff -r1.12 -r1.13 src/sbin/fsck_lfs/pass0.c
cvs rdiff -r1.90 -r1.91 src/sys/conf/osrelease.sh
cvs rdiff -r1.3 -r1.4 src/sys/miscfs/genfs/genfs_node.h
cvs rdiff -r1.71 -r1.72 src/sys/miscfs/genfs/genfs_vnops.c
cvs rdiff -r1.60 -r1.61 src/sys/nfs/nfs_node.c
cvs rdiff -r1.159 -r1.160 src/sys/sys/param.h
cvs rdiff -r1.25 -r1.26 src/sys/ufs/ffs/ffs_extern.h
cvs rdiff -r1.106 -r1.107 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -r1.54 -r1.55 src/sys/ufs/ffs/ffs_vnops.c
cvs rdiff -r1.5 -r1.6 src/sys/ufs/lfs/TODO
cvs rdiff -r1.45 -r1.46 src/sys/ufs/lfs/lfs.h
cvs rdiff -r1.62 -r1.63 src/sys/ufs/lfs/lfs_alloc.c
cvs rdiff -r1.35 -r1.36 src/sys/ufs/lfs/lfs_balloc.c
cvs rdiff -r1.57 -r1.58 src/sys/ufs/lfs/lfs_bio.c
cvs rdiff -r1.20 -r1.21 src/sys/ufs/lfs/lfs_cksum.c
cvs rdiff -r1.19 -r1.20 src/sys/ufs/lfs/lfs_debug.c
cvs rdiff -r1.38 -r1.39 src/sys/ufs/lfs/lfs_extern.h
cvs rdiff -r1.63 -r1.64 src/sys/ufs/lfs/lfs_inode.c
cvs rdiff -r1.100 -r1.101 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -r1.30 -r1.31 src/sys/ufs/lfs/lfs_subr.c
cvs rdiff -r1.79 -r1.80 src/sys/ufs/lfs/lfs_syscalls.c
cvs rdiff -r1.90 -r1.91 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -r1.83 -r1.84 src/sys/ufs/lfs/lfs_vnops.c
cvs rdiff -r1.32 -r1.33 src/sys/ufs/ufs/inode.h
cvs rdiff -r1.30 -r1.31 src/sys/ufs/ufs/ufs_extern.h
cvs rdiff -r1.33 -r1.34 src/sys/ufs/ufs/ufs_inode.c
cvs rdiff -r1.47 -r1.48 src/sys/ufs/ufs/ufs_readwrite.c
cvs rdiff -r1.89 -r1.90 src/sys/ufs/ufs/ufs_vnops.c
cvs rdiff -r1.83 -r1.84 src/sys/uvm/uvm_page.c
cvs rdiff -r1.25 -r1.26 src/sys/uvm/uvm_pager.h
cvs rdiff -r1.21 -r1.22 src/usr.sbin/dumplfs/dumplfs.c
cvs rdiff -r1.17 -r1.18 src/usr.sbin/quotaon/quotaon.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