summaryrefslogtreecommitdiffstats
path: root/sys/ufs/mfs/mfs_vnops.c
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>1997-11-01 20:19:44 +0000
committertegge <tegge@FreeBSD.org>1997-11-01 20:19:44 +0000
commit755c4dea3d094755b53daef565d44e851ed5c64d (patch)
treeb4268d4ea90d525e46a98ab9c294df7b9d639ca6 /sys/ufs/mfs/mfs_vnops.c
parenteac98c59936e6b1f78806a948d35dd5c6bff0998 (diff)
downloadFreeBSD-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/mfs/mfs_vnops.c')
-rw-r--r--sys/ufs/mfs/mfs_vnops.c24
1 files changed, 22 insertions, 2 deletions
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
OpenPOWER on IntegriCloud