summaryrefslogtreecommitdiffstats
path: root/sys/ufs
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
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')
-rw-r--r--sys/ufs/mfs/mfs_vfsops.c4
-rw-r--r--sys/ufs/mfs/mfs_vnops.c24
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
OpenPOWER on IntegriCloud