summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2004-10-22 08:47:20 +0000
committerphk <phk@FreeBSD.org>2004-10-22 08:47:20 +0000
commit52a089c5262ab46beaee3c8aaedbd0c47da5b403 (patch)
treebc42241b941aa567a6f2ea05e7900cd388eae620 /sys/ufs
parentec23a3b685c6fad6459a67f5c814bf8203a9c664 (diff)
downloadFreeBSD-src-52a089c5262ab46beaee3c8aaedbd0c47da5b403.zip
FreeBSD-src-52a089c5262ab46beaee3c8aaedbd0c47da5b403.tar.gz
Add b_bufobj to struct buf which eventually will eliminate the need for b_vp.
Initialize b_bufobj for all buffers. Make incore() and gbincore() take a bufobj instead of a vnode. Make inmem() local to vfs_bio.c Change a lot of VI_[UN]LOCK(bp->b_vp) to BO_[UN]LOCK(bp->b_bufobj) also VI_MTX() to BO_MTX(), Make buf_vlist_add() take a bufobj instead of a vnode. Eliminate other uses of bp->b_vp where bp->b_bufobj will do. Various minor polishing: remove "register", turn panic into KASSERT, use new function declarations, TAILQ_FOREACH_SAFE() etc.
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c2
-rw-r--r--sys/ufs/ufs/ufs_bmap.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index aeaa867..0d1ef2c 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -2571,7 +2571,7 @@ indir_trunc(freeblks, dbn, level, lbn, countp)
bp = getblk(freeblks->fb_devvp, dbn, (int)fs->fs_bsize, 0, 0,
GB_NOCREAT);
#else
- bp = incore(freeblks->fb_devvp, dbn);
+ bp = incore(&freeblks->fb_devvp->v_bufobj, dbn);
#endif
ACQUIRE_LOCK(&lk);
if (bp != NULL && (wk = LIST_FIRST(&bp->b_dep)) != NULL) {
diff --git a/sys/ufs/ufs/ufs_bmap.c b/sys/ufs/ufs/ufs_bmap.c
index af4292f..6035baf 100644
--- a/sys/ufs/ufs/ufs_bmap.c
+++ b/sys/ufs/ufs/ufs_bmap.c
@@ -203,7 +203,7 @@ ufs_bmaparray(vp, bn, bnp, nbp, runp, runb)
*/
metalbn = ap->in_lbn;
- if ((daddr == 0 && !incore(vp, metalbn)) || metalbn == bn)
+ if ((daddr == 0 && !incore(&vp->v_bufobj, metalbn)) || metalbn == bn)
break;
/*
* If we get here, we've either got the block in the cache
OpenPOWER on IntegriCloud