Subject: CVS commit: src
To: None <source-changes@NetBSD.org>
From: Antti Kantee <pooka@netbsd.org>
List: source-changes
Date: 10/11/2007 19:41:16
Module Name:	src
Committed By:	pooka
Date:		Thu Oct 11 19:41:16 UTC 2007

Modified Files:
	src/lib/libpuffs: callcontext.c dispatcher.c flush.c opdump.c puffs.c
	    puffs.h puffs_priv.h requests.c suspend.c
	src/sys/fs/puffs: puffs_msgif.c puffs_msgif.h puffs_node.c puffs_subr.c
	    puffs_sys.h puffs_transport.c puffs_vfsops.c puffs_vnops.c

Log Message:
Part 1/n of some pretty extensive changes to how the kernel module
interacts with the userspace file server:

  * since the kernel-user communication is not purely request-response
    anymore (hasn't been since 2006), try to rename some "request" to
    "message".  more similar mangling will take place in the future.

  * completely rework how messages are allocated.  previously most of
    them were borrowed from the stack (originally *all* of them),
    but now always allocate dynamically.  this makes the structure
    of the code much cleaner.  also makes it possible to fix a
    locking order violation.  it enables plenty of future enhancements.

  * start generalizing the transport interface to be independent of puffs

  * move transport interface to read/write instead of ioctl.  the
    old one had legacy design problems, and besides, ioctl's suck.
    implement a very generic version for now; this will be
    worked on later hopefully some day reaching "highly optimized".

  * implement libpuffs support behind existing library request
    interfaces.  this will change eventually (I hate those interfaces)


To generate a diff of this commit:
cvs rdiff -r1.7 -r1.8 src/lib/libpuffs/callcontext.c
cvs rdiff -r1.14 -r1.15 src/lib/libpuffs/dispatcher.c \
    src/lib/libpuffs/opdump.c
cvs rdiff -r1.11 -r1.12 src/lib/libpuffs/flush.c
cvs rdiff -r1.65 -r1.66 src/lib/libpuffs/puffs.c
cvs rdiff -r1.85 -r1.86 src/lib/libpuffs/puffs.h
cvs rdiff -r1.22 -r1.23 src/lib/libpuffs/puffs_priv.h
cvs rdiff -r1.9 -r1.10 src/lib/libpuffs/requests.c
cvs rdiff -r1.5 -r1.6 src/lib/libpuffs/suspend.c
cvs rdiff -r1.45 -r1.46 src/sys/fs/puffs/puffs_msgif.c
cvs rdiff -r1.55 -r1.56 src/sys/fs/puffs/puffs_msgif.h
cvs rdiff -r1.5 -r1.6 src/sys/fs/puffs/puffs_node.c
cvs rdiff -r1.56 -r1.57 src/sys/fs/puffs/puffs_subr.c
cvs rdiff -r1.58 -r1.59 src/sys/fs/puffs/puffs_sys.h
cvs rdiff -r1.25 -r1.26 src/sys/fs/puffs/puffs_transport.c
cvs rdiff -r1.62 -r1.63 src/sys/fs/puffs/puffs_vfsops.c
cvs rdiff -r1.106 -r1.107 src/sys/fs/puffs/puffs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.