diff options
author | phk <phk@FreeBSD.org> | 1997-10-10 18:18:13 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1997-10-10 18:18:13 +0000 |
commit | c0089963c1d9fa30e4a62aa5176c94d7e19676da (patch) | |
tree | d73bd8c571f0476ed7275749cae7d3ddb8f3cfa6 /sys/ufs | |
parent | a10f019e7ef1fce4290d134a1a4977dd9558128d (diff) | |
download | FreeBSD-src-c0089963c1d9fa30e4a62aa5176c94d7e19676da.zip FreeBSD-src-c0089963c1d9fa30e4a62aa5176c94d7e19676da.tar.gz |
Make ufs_reclaim free the underlying inode.
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ufs/ufs_extern.h | 4 | ||||
-rw-r--r-- | sys/ufs/ufs/ufs_inode.c | 15 | ||||
-rw-r--r-- | sys/ufs/ufs/ufsmount.h | 3 |
3 files changed, 15 insertions, 7 deletions
diff --git a/sys/ufs/ufs/ufs_extern.h b/sys/ufs/ufs/ufs_extern.h index b4880ad..facffd7 100644 --- a/sys/ufs/ufs/ufs_extern.h +++ b/sys/ufs/ufs/ufs_extern.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ufs_extern.h 8.10 (Berkeley) 5/14/95 - * $Id: ufs_extern.h,v 1.16 1997/08/26 07:32:50 phk Exp $ + * $Id: ufs_extern.h,v 1.17 1997/09/14 02:58:10 peter Exp $ */ #ifndef _UFS_UFS_EXTERN_H_ @@ -103,7 +103,7 @@ int ufs_pathconf __P((struct vop_pathconf_args *)); int ufs_print __P((struct vop_print_args *)); int ufs_readdir __P((struct vop_readdir_args *)); int ufs_readlink __P((struct vop_readlink_args *)); -int ufs_reclaim __P((struct vnode *, struct proc *)); +int ufs_reclaim __P((struct vop_reclaim_args *)); int ufs_remove __P((struct vop_remove_args *)); int ufs_rename __P((struct vop_rename_args *)); #define ufs_revoke vop_revoke diff --git a/sys/ufs/ufs/ufs_inode.c b/sys/ufs/ufs/ufs_inode.c index a4f3f6c..f35dc8c 100644 --- a/sys/ufs/ufs/ufs_inode.c +++ b/sys/ufs/ufs/ufs_inode.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_inode.c 8.9 (Berkeley) 5/14/95 - * $Id: ufs_inode.c,v 1.14 1997/08/26 04:36:26 dyson Exp $ + * $Id: ufs_inode.c,v 1.15 1997/09/02 20:06:57 bde Exp $ */ #include "opt_quota.h" @@ -44,9 +44,11 @@ #include <sys/param.h> #include <sys/vnode.h> #include <sys/mount.h> +#include <sys/malloc.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> +#include <ufs/ufs/ufsmount.h> #include <ufs/ufs/ufs_extern.h> u_long nextgennumber; /* Next generation number to assign. */ @@ -107,11 +109,14 @@ out: * Reclaim an inode so that it can be used for other purposes. */ int -ufs_reclaim(vp, p) - struct vnode *vp; - struct proc *p; +ufs_reclaim(ap) + struct vop_reclaim_args /* { + struct vnode *a_vp; + struct proc *a_p; + } */ *ap; { register struct inode *ip; + register struct vnode *vp = ap->a_vp; #ifdef QUOTA int i; #endif @@ -139,5 +144,7 @@ ufs_reclaim(vp, p) } } #endif + FREE(vp->v_data, VFSTOUFS(vp->v_mount)->um_malloctype); + vp->v_data = 0; return (0); } diff --git a/sys/ufs/ufs/ufsmount.h b/sys/ufs/ufs/ufsmount.h index 168748a..2761f65 100644 --- a/sys/ufs/ufs/ufsmount.h +++ b/sys/ufs/ufs/ufsmount.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ufsmount.h 8.6 (Berkeley) 3/30/95 - * $Id: ufsmount.h,v 1.7 1997/02/22 09:47:54 peter Exp $ + * $Id: ufsmount.h,v 1.8 1997/09/22 21:24:03 joerg Exp $ */ #ifndef _UFS_UFS_UFSMOUNT_H_ @@ -91,6 +91,7 @@ struct ufsmount { char um_qflags[MAXQUOTAS]; /* quota specific flags */ struct netexport um_export; /* export information */ int64_t um_savedmaxfilesize; /* XXX - limit maxfilesize */ + struct malloc_type *um_malloctype; /* The inodes malloctype */ }; /* |