aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorTor Egge <tegge@FreeBSD.org>1997-11-01 20:19:44 +0000
committerTor Egge <tegge@FreeBSD.org>1997-11-01 20:19:44 +0000
commitf97c4150dd4a80e463f8c20cf92c25d55b181184 (patch)
tree942e5bc259ad3175c5e0833ad19eae55a646f186 /sys
parent534ac553a170f118aace5c3f0ad1eaa53eeab407 (diff)
Notes
Diffstat (limited to 'sys')
-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 a543852f9dfa..78763cf1413b 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 46baf1305554..023c9e6e23aa 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