diff options
| author | Tor Egge <tegge@FreeBSD.org> | 1997-11-01 20:19:44 +0000 |
|---|---|---|
| committer | Tor Egge <tegge@FreeBSD.org> | 1997-11-01 20:19:44 +0000 |
| commit | f97c4150dd4a80e463f8c20cf92c25d55b181184 (patch) | |
| tree | 942e5bc259ad3175c5e0833ad19eae55a646f186 /sys | |
| parent | 534ac553a170f118aace5c3f0ad1eaa53eeab407 (diff) | |
Notes
Diffstat (limited to 'sys')
| -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 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 |
