Lines Matching defs:devvp

90 ffs_snapblkfree(fs, devvp, bno, size, inum, vtype, wkhd)
92 struct vnode *devvp;
127 ffs_copyonwrite(devvp, bp)
128 struct vnode *devvp;
176 static void try_free_snapdata(struct vnode *devvp);
177 static struct snapdata *ffs_snapdata_acquire(struct vnode *devvp);
225 struct vnode *vp, *xvp, *mvp, *devvp;
320 devvp = ITODEVVP(ip);
506 if ((error = bread(devvp, fsbtodb(fs, fs->fs_csaddr + loc),
656 sn = ffs_snapdata_acquire(devvp);
687 VI_LOCK(devvp);
692 VI_UNLOCK(devvp);
719 VI_LOCK(devvp);
725 devvp->v_vflag |= VV_COPYONWRITE;
726 VI_UNLOCK(devvp);
854 VI_LOCK(devvp);
858 VI_UNLOCK(devvp);
1647 struct vnode *devvp;
1656 devvp = ITODEVVP(ip);
1664 VI_LOCK(devvp);
1666 sn = devvp->v_rdev->si_snapdata;
1669 VI_UNLOCK(devvp);
1676 VI_LOCK(devvp);
1680 try_free_snapdata(devvp);
1682 VI_UNLOCK(devvp);
1783 ffs_snapblkfree(fs, devvp, bno, size, inum, vtype, wkhd)
1785 struct vnode *devvp;
1803 VI_LOCK(devvp);
1804 sn = devvp->v_rdev->si_snapdata;
1806 VI_UNLOCK(devvp);
1810 VI_MTX(devvp)) != 0)
2000 struct vnode *devvp = ump->um_devvp;
2064 sn = ffs_snapdata_acquire(devvp);
2074 VI_LOCK(devvp);
2081 VI_UNLOCK(devvp);
2125 VI_LOCK(devvp);
2126 ASSERT_VOP_LOCKED(devvp, "ffs_snapshot_mount");
2129 devvp->v_vflag |= VV_COPYONWRITE;
2130 VI_UNLOCK(devvp);
2140 struct vnode *devvp = VFSTOUFS(mp)->um_devvp;
2145 VI_LOCK(devvp);
2146 sn = devvp->v_rdev->si_snapdata;
2152 VI_MTX(devvp));
2170 VI_LOCK(devvp);
2171 sn = devvp->v_rdev->si_snapdata;
2173 try_free_snapdata(devvp);
2174 ASSERT_VOP_LOCKED(devvp, "ffs_snapshot_unmount");
2179 * locked after snaplk. devvp shall be locked on entry, and will be
2183 ffs_bp_snapblk(devvp, bp)
2184 struct vnode *devvp;
2192 ASSERT_VI_LOCKED(devvp, "ffs_bp_snapblk");
2193 KASSERT(devvp->v_type == VCHR, ("Not a device %p", devvp));
2194 sn = devvp->v_rdev->si_snapdata;
2222 struct vnode *vp, *devvp;
2231 devvp = bo2vnode(bo);
2232 KASSERT(vp == devvp, ("devvp != vp %p %p", bo, bp));
2234 VI_LOCK(devvp);
2235 bp_bdskip = ffs_bp_snapblk(devvp, bp);
2238 VI_UNLOCK(devvp);
2265 VI_LOCK(devvp);
2267 VI_UNLOCK(devvp);
2272 VI_UNLOCK(devvp);
2293 ffs_copyonwrite(devvp, bp)
2294 struct vnode *devvp;
2308 if (devvp != bp->b_vp && IS_SNAPSHOT(VTOI(bp->b_vp)))
2316 VI_LOCK(devvp);
2317 sn = devvp->v_rdev->si_snapdata;
2320 VI_UNLOCK(devvp);
2327 VI_UNLOCK(devvp);
2343 VI_UNLOCK(devvp);
2360 VI_MTX(devvp)) != 0) {
2361 VI_LOCK(devvp);
2362 sn = devvp->v_rdev->si_snapdata;
2365 VI_UNLOCK(devvp);
2434 if (bp->b_vp == devvp)
2456 if ((devvp == bp->b_vp || bp->b_vp->v_type == VDIR ||
2469 if ((devvp == bp->b_vp || bp->b_vp->v_type == VDIR ||
2489 if ((devvp == bp->b_vp || bp->b_vp->v_type == VDIR ||
2520 struct vnode *devvp;
2524 devvp = VFSTOUFS(mp)->um_devvp;
2525 if ((devvp->v_vflag & VV_COPYONWRITE) == 0)
2528 VI_LOCK(devvp);
2529 sn = devvp->v_rdev->si_snapdata;
2531 VI_UNLOCK(devvp);
2536 VI_MTX(devvp)) == 0)
2673 /* Try to free snapdata associated with devvp */
2675 try_free_snapdata(struct vnode *devvp)
2680 ASSERT_VI_LOCKED(devvp, "try_free_snapdata");
2681 sn = devvp->v_rdev->si_snapdata;
2684 (devvp->v_vflag & VV_COPYONWRITE) == 0) {
2685 VI_UNLOCK(devvp);
2689 devvp->v_rdev->si_snapdata = NULL;
2690 devvp->v_vflag &= ~VV_COPYONWRITE;
2691 lockmgr(&sn->sn_lock, LK_DRAIN|LK_INTERLOCK, VI_MTX(devvp));
2702 ffs_snapdata_acquire(struct vnode *devvp)
2709 * devvp lock to avoid allocation while the devvp interlock is
2715 VI_LOCK(devvp);
2716 sn = devvp->v_rdev->si_snapdata;
2728 sn = devvp->v_rdev->si_snapdata = nsn;
2729 VI_UNLOCK(devvp);
2739 LK_EXCLUSIVE | LK_SLEEPFAIL, VI_MTX(devvp));