Make ufs_reclaim free the underlying inode.

This commit is contained in:
Poul-Henning Kamp 1997-10-10 18:18:13 +00:00
parent 56b5da1c5e
commit 2cfc47fbc8
5 changed files with 19 additions and 9 deletions

View File

@ -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 */
};
/*

View File

@ -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 */
};
/*

View File

@ -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

View File

@ -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 @@ ufs_inactive(ap)
* 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);
}

View File

@ -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 */
};
/*