summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1997-10-14 14:22:31 +0000
committerphk <phk@FreeBSD.org>1997-10-14 14:22:31 +0000
commit2b4a6ad696344abca796fc9d22083c9aab0f2834 (patch)
tree9c85a8ebde5c3bbbe903a7576bdb380fcd207b5b /sys
parent3532aa6356c57cc86d73de769f5dc582bce5bb08 (diff)
downloadFreeBSD-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')
-rw-r--r--sys/gnu/ext2fs/ext2_alloc.c2
-rw-r--r--sys/gnu/fs/ext2fs/ext2_alloc.c2
-rw-r--r--sys/ufs/ffs/ffs_alloc.c5
-rw-r--r--sys/ufs/lfs/lfs_alloc.c4
-rw-r--r--sys/ufs/ufs/ufs_inode.c7
5 files changed, 12 insertions, 8 deletions
diff --git a/sys/gnu/ext2fs/ext2_alloc.c b/sys/gnu/ext2fs/ext2_alloc.c
index 64e9b87..a570ce4 100644
--- a/sys/gnu/ext2fs/ext2_alloc.c
+++ b/sys/gnu/ext2fs/ext2_alloc.c
@@ -538,6 +538,8 @@ ext2_vfree(ap)
int mode;
pip = VTOI(ap->a_pvp);
+ /* Remove the inode from its hash chain */
+ ufs_ihashrem(pip);
fs = pip->i_e2fs;
if ((u_int)ino >= fs->s_inodes_per_group * fs->s_groups_count)
panic("ifree: range: dev = 0x%x, ino = %d, fs = %s",
diff --git a/sys/gnu/fs/ext2fs/ext2_alloc.c b/sys/gnu/fs/ext2fs/ext2_alloc.c
index 64e9b87..a570ce4 100644
--- a/sys/gnu/fs/ext2fs/ext2_alloc.c
+++ b/sys/gnu/fs/ext2fs/ext2_alloc.c
@@ -538,6 +538,8 @@ ext2_vfree(ap)
int mode;
pip = VTOI(ap->a_pvp);
+ /* Remove the inode from its hash chain */
+ ufs_ihashrem(pip);
fs = pip->i_e2fs;
if ((u_int)ino >= fs->s_inodes_per_group * fs->s_groups_count)
panic("ifree: range: dev = 0x%x, ino = %d, fs = %s",
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);
OpenPOWER on IntegriCloud