diff options
author | attilio <attilio@FreeBSD.org> | 2008-01-13 14:44:15 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2008-01-13 14:44:15 +0000 |
commit | 71b7824213151e91b40ee4afa9fa7f100c90ed0b (patch) | |
tree | 880b0acaab5ef09fe469c4b041d99ff26adca8b8 /sys/ufs/ffs | |
parent | 28827547bbae974e5ca23ee55d1ba558da366885 (diff) | |
download | FreeBSD-src-71b7824213151e91b40ee4afa9fa7f100c90ed0b.zip FreeBSD-src-71b7824213151e91b40ee4afa9fa7f100c90ed0b.tar.gz |
VOP_LOCK1() (and so VOP_LOCK()) and VOP_UNLOCK() are only used in
conjuction with 'thread' argument passing which is always curthread.
Remove the unuseful extra-argument and pass explicitly curthread to lower
layer functions, when necessary.
KPI results broken by this change, which should affect several ports, so
version bumping and manpage update will be further committed.
Tested by: kris, pho, Diego Sardina <siarodx at gmail dot com>
Diffstat (limited to 'sys/ufs/ffs')
-rw-r--r-- | sys/ufs/ffs/ffs_rawread.c | 14 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_snapshot.c | 28 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 4 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vfsops.c | 16 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vnops.c | 6 |
5 files changed, 35 insertions, 33 deletions
diff --git a/sys/ufs/ffs/ffs_rawread.c b/sys/ufs/ffs/ffs_rawread.c index ae26c1d..6369f58 100644 --- a/sys/ufs/ffs/ffs_rawread.c +++ b/sys/ufs/ffs/ffs_rawread.c @@ -118,13 +118,13 @@ ffs_rawread_sync(struct vnode *vp, struct thread *td) upgraded = 1; else upgraded = 0; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); (void) vn_start_write(vp, &mp, V_WAIT); - VOP_LOCK(vp, LK_EXCLUSIVE, td); + VOP_LOCK(vp, LK_EXCLUSIVE); } else if (VOP_ISLOCKED(vp, td) != LK_EXCLUSIVE) { upgraded = 1; /* Upgrade to exclusive lock, this might block */ - VOP_LOCK(vp, LK_UPGRADE, td); + VOP_LOCK(vp, LK_UPGRADE); } else upgraded = 0; @@ -134,7 +134,7 @@ ffs_rawread_sync(struct vnode *vp, struct thread *td) if ((vp->v_iflag & VI_DOOMED) != 0) { VI_UNLOCK(vp); if (upgraded != 0) - VOP_LOCK(vp, LK_DOWNGRADE, td); + VOP_LOCK(vp, LK_DOWNGRADE); vn_finished_write(mp); return (EIO); } @@ -157,7 +157,7 @@ ffs_rawread_sync(struct vnode *vp, struct thread *td) splx(spl); VI_UNLOCK(vp); if (upgraded != 0) - VOP_LOCK(vp, LK_DOWNGRADE, td); + VOP_LOCK(vp, LK_DOWNGRADE); vn_finished_write(mp); return (error); } @@ -167,7 +167,7 @@ ffs_rawread_sync(struct vnode *vp, struct thread *td) VI_UNLOCK(vp); if ((error = ffs_syncvnode(vp, MNT_WAIT)) != 0) { if (upgraded != 0) - VOP_LOCK(vp, LK_DOWNGRADE, td); + VOP_LOCK(vp, LK_DOWNGRADE); vn_finished_write(mp); return (error); } @@ -179,7 +179,7 @@ ffs_rawread_sync(struct vnode *vp, struct thread *td) splx(spl); VI_UNLOCK(vp); if (upgraded != 0) - VOP_LOCK(vp, LK_DOWNGRADE, td); + VOP_LOCK(vp, LK_DOWNGRADE); vn_finished_write(mp); } else { splx(spl); diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index 8453305..4be6f38 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -274,7 +274,7 @@ restart: } VOP_LEASE(nd.ni_dvp, td, KERNCRED, LEASE_WRITE); error = VOP_CREATE(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vat); - VOP_UNLOCK(nd.ni_dvp, 0, td); + VOP_UNLOCK(nd.ni_dvp, 0); if (error) { NDFREE(&nd, NDF_ONLY_PNBUF); vn_finished_write(wrtmp); @@ -382,7 +382,7 @@ restart: */ if ((error = ffs_syncvnode(vp, MNT_WAIT)) != 0) goto out; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); /* * All allocations are done, so we can now snapshot the system. * @@ -544,7 +544,7 @@ loop: if (xvp->v_usecount == 0 && (xvp->v_iflag & (VI_OWEINACT | VI_DOINGINACT)) == 0) { VI_UNLOCK(xvp); - VOP_UNLOCK(xvp, 0, td); + VOP_UNLOCK(xvp, 0); vdrop(xvp); MNT_ILOCK(mp); continue; @@ -554,14 +554,14 @@ loop: vprint("ffs_snapshot: busy vnode", xvp); if (VOP_GETATTR(xvp, &vat, td->td_ucred, td) == 0 && vat.va_nlink > 0) { - VOP_UNLOCK(xvp, 0, td); + VOP_UNLOCK(xvp, 0); vdrop(xvp); MNT_ILOCK(mp); continue; } xp = VTOI(xvp); if (ffs_checkfreefile(copy_fs, vp, xp->i_number)) { - VOP_UNLOCK(xvp, 0, td); + VOP_UNLOCK(xvp, 0); vdrop(xvp); MNT_ILOCK(mp); continue; @@ -592,7 +592,7 @@ loop: if (!error) error = ffs_freefile(ump, copy_fs, vp, xp->i_number, xp->i_mode); - VOP_UNLOCK(xvp, 0, td); + VOP_UNLOCK(xvp, 0); vdrop(xvp); if (error) { free(copy_fs->fs_csp, M_UFSMNT); @@ -796,7 +796,7 @@ out1: * the snapshot lock until the buffer has been written. */ VREF(vp); /* Protect against ffs_snapgone() */ - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); (void) bread(ip->i_devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)), (int) fs->fs_bsize, NOCRED, &nbp); @@ -836,7 +836,7 @@ out: if (error) vput(vp); else - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(nd.ni_dvp); vn_finished_write(wrtmp); process_deferred_inactive(mp); @@ -1978,7 +1978,7 @@ ffs_snapshot_mount(mp) TAILQ_INSERT_TAIL(&sn->sn_head, ip, i_nextsnap); vp->v_vflag |= VV_SYSTEM; VI_UNLOCK(devvp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); lastvp = vp; } vp = lastvp; @@ -2004,7 +2004,7 @@ ffs_snapshot_mount(mp) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if ((error = VOP_READ(vp, &auio, IO_UNIT, td->td_ucred)) != 0) { printf("ffs_snapshot_mount: read_1 failed %d\n", error); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); return; } MALLOC(snapblklist, void *, snaplistsize * sizeof(daddr_t), @@ -2016,11 +2016,11 @@ ffs_snapshot_mount(mp) auio.uio_offset -= sizeof(snaplistsize); if ((error = VOP_READ(vp, &auio, IO_UNIT, td->td_ucred)) != 0) { printf("ffs_snapshot_mount: read_2 failed %d\n", error); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); FREE(snapblklist, M_UFSMNT); return; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VI_LOCK(devvp); ASSERT_VOP_LOCKED(devvp, "ffs_snapshot_mount"); sn->sn_listsize = snaplistsize; @@ -2468,7 +2468,7 @@ process_deferred_inactive(struct mount *mp) VI_LOCK(vp); if ((vp->v_iflag & VI_OWEINACT) == 0 || vp->v_usecount > 0) { VI_UNLOCK(vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vdrop(vp); MNT_ILOCK(mp); continue; @@ -2488,7 +2488,7 @@ process_deferred_inactive(struct mount *mp) ("process_deferred_inactive: got VI_OWEINACT")); vp->v_iflag &= ~VI_DOINGINACT; VI_UNLOCK(vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vdrop(vp); MNT_ILOCK(mp); } diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 60e3de9..e4838e3 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -1031,7 +1031,7 @@ softdep_flushworklist(oldmnt, countp, td) *countp += count; vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); error = VOP_FSYNC(devvp, MNT_WAIT, td); - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); if (error) break; } @@ -5075,7 +5075,7 @@ softdep_fsync(vp) */ FREE_LOCK(&lk); if (ffs_vget(mp, parentino, LK_NOWAIT | LK_EXCLUSIVE, &pvp)) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = ffs_vget(mp, parentino, LK_EXCLUSIVE, &pvp); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if (error != 0) diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 93f9e72..ae3fbeb 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -267,10 +267,10 @@ ffs_mount(struct mount *mp, struct thread *td) if (error) error = priv_check(td, PRIV_VFS_MOUNT_PERM); if (error) { - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); return (error); } - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); fs->fs_flags &= ~FS_UNCLEAN; if (fs->fs_clean == 0) { fs->fs_flags |= FS_UNCLEAN; @@ -470,7 +470,7 @@ ffs_reload(struct mount *mp, struct thread *td) vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); if (vinvalbuf(devvp, 0, td, 0, 0) != 0) panic("ffs_reload: dirty1"); - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); /* * Step 2: re-read superblock from disk. @@ -565,7 +565,7 @@ loop: bread(devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)), (int)fs->fs_bsize, NOCRED, &bp); if (error) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_VNODE_FOREACH_ABORT(mp, mvp); return (error); @@ -573,7 +573,7 @@ loop: ffs_load_inode(bp, ip, fs, ip->i_number); ip->i_effnlink = ip->i_nlink; brelse(bp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); } @@ -623,7 +623,7 @@ ffs_mountfs(devvp, mp, td) error = g_access(cp, 0, 0, -1); g_topology_unlock(); PICKUP_GIANT(); - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); if (error) return (error); if (devvp->v_rdev->si_iosize_max != 0) @@ -1122,7 +1122,7 @@ ffs_flushfiles(mp, flags, td) */ vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY); error = VOP_FSYNC(ump->um_devvp, MNT_WAIT, td); - VOP_UNLOCK(ump->um_devvp, 0, td); + VOP_UNLOCK(ump->um_devvp, 0); return (error); } @@ -1273,7 +1273,7 @@ loop: vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY | LK_INTERLOCK); if ((error = VOP_FSYNC(devvp, waitfor, td)) != 0) allerror = error; - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); if (allerror == 0 && waitfor == MNT_WAIT) { MNT_ILOCK(mp); goto loop; diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index f60c5cc..c217fe5 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -370,7 +370,8 @@ ffs_lock(ap) flags |= LK_INTERLOCK; } lkp = vp->v_vnlock; - result = _lockmgr(lkp, flags, VI_MTX(vp), ap->a_td, ap->a_file, ap->a_line); + result = _lockmgr(lkp, flags, VI_MTX(vp), curthread, + ap->a_file, ap->a_line); if (lkp == vp->v_vnlock || result != 0) break; /* @@ -381,7 +382,8 @@ ffs_lock(ap) * right lock. Release it, and try to get the * new lock. */ - (void) _lockmgr(lkp, LK_RELEASE, VI_MTX(vp), ap->a_td, ap->a_file, ap->a_line); + (void) _lockmgr(lkp, LK_RELEASE, VI_MTX(vp), curthread, + ap->a_file, ap->a_line); if ((flags & LK_TYPE_MASK) == LK_UPGRADE) flags = (flags & ~LK_TYPE_MASK) | LK_EXCLUSIVE; flags &= ~LK_INTERLOCK; |