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>