summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2003-10-06 03:28:03 +0000
committerjeff <jeff@FreeBSD.org>2003-10-06 03:28:03 +0000
commit2b7339ddea4e3c2dc47643a97c1903e28bca71e1 (patch)
tree92089d40e5a4ce8715498721f3c361fa8b9fc537 /sys/ufs/ffs
parent209da6c2f266a398ec79f8694511df946d5590b3 (diff)
downloadFreeBSD-src-2b7339ddea4e3c2dc47643a97c1903e28bca71e1.zip
FreeBSD-src-2b7339ddea4e3c2dc47643a97c1903e28bca71e1.tar.gz
- My last commit to this file is still not safe, I believe that it may be
due to the recursion in indir_trunc().
Diffstat (limited to 'sys/ufs/ffs')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index 6166424..768a6b5 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -2563,8 +2563,12 @@ indir_trunc(freeblks, dbn, level, lbn, countp)
* a complete copy of the indirect block in memory for our use.
* Otherwise we have to read the blocks in from the disk.
*/
+#ifdef notyet
bp = getblk(freeblks->fb_devvp, dbn, (int)fs->fs_bsize, 0, 0,
GB_NOCREAT);
+#else
+ bp = incore(freeblks->fb_devvp, dbn);
+#endif
ACQUIRE_LOCK(&lk);
if (bp != NULL && (wk = LIST_FIRST(&bp->b_dep)) != NULL) {
if (wk->wk_type != D_INDIRDEP ||
@@ -2582,8 +2586,10 @@ indir_trunc(freeblks, dbn, level, lbn, countp)
VFSTOUFS(freeblks->fb_mnt)->um_numindirdeps -= 1;
FREE_LOCK(&lk);
} else {
+#ifdef notyet
if (bp)
brelse(bp);
+#endif
FREE_LOCK(&lk);
error = bread(freeblks->fb_devvp, dbn, (int)fs->fs_bsize,
NOCRED, &bp);
OpenPOWER on IntegriCloud