diff options
author | phk <phk@FreeBSD.org> | 1997-10-14 14:22:31 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1997-10-14 14:22:31 +0000 |
commit | 2b4a6ad696344abca796fc9d22083c9aab0f2834 (patch) | |
tree | 9c85a8ebde5c3bbbe903a7576bdb380fcd207b5b /sys/ufs | |
parent | 3532aa6356c57cc86d73de769f5dc582bce5bb08 (diff) | |
download | FreeBSD-src-2b4a6ad696344abca796fc9d22083c9aab0f2834.zip FreeBSD-src-2b4a6ad696344abca796fc9d22083c9aab0f2834.tar.gz |
ufs_ihashrem() should not be called from the UFS layer, but from the
lower layer (LFS/FFS/?) like the rest of the ihash functions.
Otherwise it is impossible to make a lower layer that doesn't use the
ihash facility.
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_alloc.c | 5 | ||||
-rw-r--r-- | sys/ufs/lfs/lfs_alloc.c | 4 | ||||
-rw-r--r-- | sys/ufs/ufs/ufs_inode.c | 7 |
3 files changed, 8 insertions, 8 deletions
diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index a4c1173..056246a 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_alloc.c 8.18 (Berkeley) 5/26/95 - * $Id: ffs_alloc.c,v 1.36 1997/09/18 18:07:45 phk Exp $ + * $Id: ffs_alloc.c,v 1.37 1997/09/19 11:13:16 phk Exp $ */ #include "opt_quota.h" @@ -48,6 +48,7 @@ #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> +#include <ufs/ufs/ufs_extern.h> #include <ufs/ffs/fs.h> #include <ufs/ffs/ffs_extern.h> @@ -1419,6 +1420,8 @@ ffs_vfree(ap) int error, cg; pip = VTOI(ap->a_pvp); + /* Remove the inode from its hash chain */ + ufs_ihashrem(pip); fs = pip->i_fs; if ((u_int)ino >= fs->fs_ipg * fs->fs_ncg) panic("ffs_vfree: range: dev = 0x%x, ino = %d, fs = %s", diff --git a/sys/ufs/lfs/lfs_alloc.c b/sys/ufs/lfs/lfs_alloc.c index 7d1e80c..19cd4f8 100644 --- a/sys/ufs/lfs/lfs_alloc.c +++ b/sys/ufs/lfs/lfs_alloc.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)lfs_alloc.c 8.7 (Berkeley) 5/14/95 - * $Id: lfs_alloc.c,v 1.14 1997/03/23 00:45:07 bde Exp $ + * $Id: lfs_alloc.c,v 1.15 1997/08/02 14:33:19 bde Exp $ */ #include "opt_quota.h" @@ -223,6 +223,8 @@ lfs_vfree(ap) /* Get the inode number and file system. */ ip = VTOI(ap->a_pvp); + /* Remove the inode from its hash chain */ + ufs_ihashrem(ip); fs = ip->i_lfs; ino = ip->i_number; if (ip->i_flag & IN_MODIFIED) { diff --git a/sys/ufs/ufs/ufs_inode.c b/sys/ufs/ufs/ufs_inode.c index f35dc8c..a2ff326 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.15 1997/09/02 20:06:57 bde Exp $ + * $Id: ufs_inode.c,v 1.16 1997/10/10 18:18:12 phk Exp $ */ #include "opt_quota.h" @@ -124,11 +124,6 @@ ufs_reclaim(ap) if (prtactive && vp->v_usecount != 0) vprint("ufs_reclaim: pushing active", vp); /* - * Remove the inode from its hash chain. - */ - ip = VTOI(vp); - ufs_ihashrem(ip); - /* * Purge old data structures associated with the inode. */ cache_purge(vp); |