summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Martelletto <pedro@cvs.openbsd.org>2006-03-31 12:33:34 +0000
committerPedro Martelletto <pedro@cvs.openbsd.org>2006-03-31 12:33:34 +0000
commita5666c63a674f283c50afcd24d4ecd62ac8ccb5d (patch)
treed4adb5ef095c55ed9fee43b27bee07201fdc6d6e
parent5fb1263e0f7e20f497387fa84c54d4c96d3ce595 (diff)
Teach ffs_reclaim() to put FFS2 dinodes back into their pool
-rw-r--r--sys/ufs/ffs/ffs_vnops.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c
index 49e80fb49ec..42e38662ef5 100644
--- a/sys/ufs/ffs/ffs_vnops.c
+++ b/sys/ufs/ffs/ffs_vnops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ffs_vnops.c,v 1.36 2005/12/17 13:56:01 pedro Exp $ */
+/* $OpenBSD: ffs_vnops.c,v 1.37 2006/03/31 12:33:33 pedro Exp $ */
/* $NetBSD: ffs_vnops.c,v 1.7 1996/05/11 18:27:24 mycroft Exp $ */
/*
@@ -295,8 +295,14 @@ ffs_reclaim(void *v)
if ((error = ufs_reclaim(vp, ap->a_p)) != 0)
return (error);
- if (ip->i_din1 != NULL)
- pool_put(&ffs_dinode1_pool, ip->i_din1);
+ if (ip->i_din1 != NULL) {
+#ifdef FFS2
+ if (ip->i_ump->um_fstype == UM_UFS2)
+ pool_put(&ffs_dinode2_pool, ip->i_din2);
+ else
+#endif
+ pool_put(&ffs_dinode1_pool, ip->i_din1);
+ }
pool_put(&ffs_ino_pool, ip);