NetBSD/sys/miscfs
perseant b397c875ae 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.
2003-02-17 23:48:08 +00:00
..
deadfs add a VOP_PUTPAGES method for all the filesystems that don't have pages, 2001-12-06 04:27:40 +00:00
fdesc merge kqueue branch into -current 2002-10-23 09:10:23 +00:00
fifofs si_ -> sel_ 2002-11-26 18:51:18 +00:00
genfs Add code to UBCify LFS. This is still behind "#ifdef LFS_UBC" for now 2003-02-17 23:48:08 +00:00
kernfs Add extensible malloc types, adapted from FreeBSD. This turns 2003-02-01 06:23:35 +00:00
nullfs MNT_GETARGS support 2002-09-21 18:08:27 +00:00
overlay MNT_GETARGS support 2002-09-21 18:08:27 +00:00
portal Merge the nathanw_sa branch. 2003-01-18 08:51:40 +00:00
procfs don't bother special-casing DTYPE_KQUEUE/DTYPE_MISC nor panic for unknown 2003-02-03 22:29:07 +00:00
specfs Add multiple inclusion protection. 2003-01-06 21:02:18 +00:00
syncfs Merge the nathanw_sa branch. 2003-01-18 08:51:40 +00:00
umapfs MNT_GETARGS support 2002-09-21 18:08:27 +00:00
union writable, not writeable. 2003-01-06 20:30:28 +00:00
Makefile Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00