diff options
author | tegge <tegge@FreeBSD.org> | 1997-11-01 20:19:44 +0000 |
---|---|---|
committer | tegge <tegge@FreeBSD.org> | 1997-11-01 20:19:44 +0000 |
commit | 755c4dea3d094755b53daef565d44e851ed5c64d (patch) | |
tree | b4268d4ea90d525e46a98ab9c294df7b9d639ca6 /sys/ufs | |
parent | eac98c59936e6b1f78806a948d35dd5c6bff0998 (diff) | |
download | FreeBSD-src-755c4dea3d094755b53daef565d44e851ed5c64d.zip FreeBSD-src-755c4dea3d094755b53daef565d44e851ed5c64d.tar.gz |
Bring back mfs_reclaim(), which is used to reclaim the master vnode in MFS.
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/mfs/mfs_vfsops.c | 4 | ||||
-rw-r--r-- | sys/ufs/mfs/mfs_vnops.c | 24 |
2 files changed, 24 insertions, 4 deletions
diff --git a/sys/ufs/mfs/mfs_vfsops.c b/sys/ufs/mfs/mfs_vfsops.c index a543852..78763cf 100644 --- a/sys/ufs/mfs/mfs_vfsops.c +++ b/sys/ufs/mfs/mfs_vfsops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mfs_vfsops.c 8.11 (Berkeley) 6/19/95 - * $Id: mfs_vfsops.c,v 1.35 1997/10/11 18:31:37 phk Exp $ + * $Id: mfs_vfsops.c,v 1.36 1997/10/12 20:26:19 phk Exp $ */ #include <sys/param.h> @@ -61,7 +61,7 @@ # include <i386/i386/cons.h> /* console IO */ #endif -static MALLOC_DEFINE(M_MFSNODE, "MFS node", "MFS vnode private part"); +MALLOC_DEFINE(M_MFSNODE, "MFS node", "MFS vnode private part"); static int mfs_imageload __P((dev_t dev, caddr_t addr, int size)); extern int mfs_initminiroot __P((caddr_t base)); diff --git a/sys/ufs/mfs/mfs_vnops.c b/sys/ufs/mfs/mfs_vnops.c index 46baf13..023c9e6 100644 --- a/sys/ufs/mfs/mfs_vnops.c +++ b/sys/ufs/mfs/mfs_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mfs_vnops.c 8.11 (Berkeley) 5/22/95 - * $Id: mfs_vnops.c,v 1.30 1997/10/26 20:55:35 phk Exp $ + * $Id: mfs_vnops.c,v 1.31 1997/10/27 13:33:47 bde Exp $ */ #include <sys/param.h> @@ -40,6 +40,7 @@ #include <sys/proc.h> #include <sys/buf.h> #include <sys/vnode.h> +#include <sys/malloc.h> #include <miscfs/specfs/specdev.h> @@ -49,12 +50,15 @@ #include <ufs/mfs/mfsnode.h> #include <ufs/mfs/mfs_extern.h> +MALLOC_DECLARE(M_MFSNODE); + static int mfs_badop __P((struct vop_generic_args *)); static int mfs_bmap __P((struct vop_bmap_args *)); static int mfs_close __P((struct vop_close_args *)); static int mfs_fsync __P((struct vop_fsync_args *)); static int mfs_inactive __P((struct vop_inactive_args *)); /* XXX */ static int mfs_open __P((struct vop_open_args *)); +static int mfs_reclaim __P((struct vop_reclaim_args *)); /* XXX */ static int mfs_print __P((struct vop_print_args *)); /* XXX */ static int mfs_strategy __P((struct vop_strategy_args *)); /* XXX */ /* @@ -74,7 +78,7 @@ static struct vnodeopv_entry_desc mfs_vnodeop_entries[] = { { &vop_lock_desc, (vop_t *) vop_defaultop }, { &vop_open_desc, (vop_t *) mfs_open }, { &vop_print_desc, (vop_t *) mfs_print }, - { &vop_reclaim_desc, (vop_t *) ufs_reclaim }, + { &vop_reclaim_desc, (vop_t *) mfs_reclaim }, { &vop_strategy_desc, (vop_t *) mfs_strategy }, { &vop_unlock_desc, (vop_t *) vop_defaultop }, { NULL, NULL } @@ -268,6 +272,22 @@ mfs_inactive(ap) } /* + * Reclaim a memory filesystem devvp so that it can be reused. + */ +static int +mfs_reclaim(ap) + struct vop_reclaim_args /* { + struct vnode *a_vp; + } */ *ap; +{ + register struct vnode *vp = ap->a_vp; + + FREE(vp->v_data, M_MFSNODE); + vp->v_data = NULL; + return (0); +} + +/* * Print out the contents of an mfsnode. */ static int |