Date: Tue, 10 Nov 1998 01:04:10 -0800 (PST) From: Peter Wemm <peter@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/kern vfs_default.c vfs_init.c vnode_if.sh src/sys/sys mount.h vnode.h Message-ID: <199811100904.BAA27855@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
peter 1998/11/10 01:04:10 PST
Modified files:
sys/kern vfs_default.c vfs_init.c vnode_if.sh
sys/sys mount.h vnode.h
Log:
Make the vnode opv vector construction fully dynamic. Previously we
leaked memory on each unload and were limited to items referenced in
the kernel copy of vnode_if.c. Now a kernel module is free to create
it's own VOP_FOO() routines and the rest of the system will happily
deal with it, including passthrough layers like union/umap/etc.
Have VFS_SET() call a common vfs_modevent() handler rather than
inline duplicating the common code all over the place.
Have VNODEOP_SET() have the vnodeops removed at unload time (assuming a
module) so that the vop_t ** vector is reclaimed.
Slightly adjust the vop_t ** vectors so that calling slot 0 is a panic
rather than a page fault. This could happen if VOP_something() was called
without *any* handlers being present anywhere (including in vfs_default.c).
slot 1 becomes the default vector for the vnodeop table.
TODO: reclaim zones on unload (eg: nfs code)
Revision Changes Path
1.16 +7 -0 src/sys/kern/vfs_default.c
1.39 +223 -125 src/sys/kern/vfs_init.c
1.16 +2 -38 src/sys/kern/vnode_if.sh
1.72 +15 -37 src/sys/sys/mount.h
1.78 +6 -4 src/sys/sys/vnode.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811100904.BAA27855>
