From c6105dce784584941c3fe9555c19dde42f939dd2 Mon Sep 17 00:00:00 2001 From: Peter Wemm Date: Tue, 10 Nov 1998 09:12:40 +0000 Subject: [PATCH] Register and unregister vnodeops the new way rather than leaking on unload. --- sys/kern/kern_lkm.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/sys/kern/kern_lkm.c b/sys/kern/kern_lkm.c index 5882ba99c0f..494345eb4b2 100644 --- a/sys/kern/kern_lkm.c +++ b/sys/kern/kern_lkm.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_lkm.c,v 1.57 1998/10/16 03:55:00 peter Exp $ + * $Id: kern_lkm.c,v 1.58 1998/10/25 17:44:51 phk Exp $ */ #include "opt_devfs.h" @@ -648,17 +648,8 @@ _lkm_vfs(lkmtp, cmd) vfsp->vfc_next = vfc; vfc->vfc_next = NULL; - /* like in vfs_op_init */ - for(i = 0; args->lkm_vnodeops->ls_items[i]; i++) { - struct vnodeopv_desc *opv = (struct vnodeopv_desc *) - args->lkm_vnodeops->ls_items[i]; - *(opv->opv_desc_vector_p) = NULL; - } - for(i = 0; args->lkm_vnodeops->ls_items[i]; i++) { - struct vnodeopv_desc *opv = (struct vnodeopv_desc *) - args->lkm_vnodeops->ls_items[i]; - vfs_opv_init(opv); - } + for(i = 0; args->lkm_vnodeops->ls_items[i]; i++) + vfs_add_vnodeops((void*)args->lkm_vnodeops->ls_items[i]); /* * Call init function for this VFS... @@ -694,6 +685,9 @@ _lkm_vfs(lkmtp, cmd) prev_vfsp->vfc_next = vfsp->vfc_next; + for(i = 0; args->lkm_vnodeops->ls_items[i]; i++) + vfs_rm_vnodeops((void*)args->lkm_vnodeops->ls_items[i]); + if (vfsp->vfc_vfsops->vfs_oid != NULL) { l = &sysctl__vfs; for (i = l->ls_length,