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.