summaryrefslogtreecommitdiffstats
path: root/sys/gnu
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2008-01-13 14:44:15 +0000
committerattilio <attilio@FreeBSD.org>2008-01-13 14:44:15 +0000
commit71b7824213151e91b40ee4afa9fa7f100c90ed0b (patch)
tree880b0acaab5ef09fe469c4b041d99ff26adca8b8 /sys/gnu
parent28827547bbae974e5ca23ee55d1ba558da366885 (diff)
downloadFreeBSD-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/gnu')
-rw-r--r--sys/gnu/fs/ext2fs/ext2_lookup.c3
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vfsops.c16
-rw-r--r--sys/gnu/fs/ext2fs/ext2_vnops.c17
-rw-r--r--sys/gnu/fs/ext2fs/fs.h2
-rw-r--r--sys/gnu/fs/reiserfs/reiserfs_inode.c2
-rw-r--r--sys/gnu/fs/reiserfs/reiserfs_namei.c2
-rw-r--r--sys/gnu/fs/reiserfs/reiserfs_vfsops.c6
-rw-r--r--sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c2
-rw-r--r--sys/gnu/fs/xfs/FreeBSD/xfs_super.c4
-rw-r--r--sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c2
-rw-r--r--sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c10
11 files changed, 32 insertions, 34 deletions
diff --git a/sys/gnu/fs/ext2fs/ext2_lookup.c b/sys/gnu/fs/ext2fs/ext2_lookup.c
index 004c140..1d47000 100644
--- a/sys/gnu/fs/ext2fs/ext2_lookup.c
+++ b/sys/gnu/fs/ext2fs/ext2_lookup.c
@@ -318,7 +318,6 @@ ext2_lookup(ap)
struct ucred *cred = cnp->cn_cred;
int flags = cnp->cn_flags;
int nameiop = cnp->cn_nameiop;
- struct thread *td = cnp->cn_thread;
ino_t saved_ino;
int DIRBLKSIZ = VTOI(ap->a_dvp)->i_e2fs->s_blocksize;
@@ -657,7 +656,7 @@ found:
pdp = vdp;
if (flags & ISDOTDOT) {
saved_ino = dp->i_ino;
- VOP_UNLOCK(pdp, 0, td); /* race to get the inode */
+ VOP_UNLOCK(pdp, 0); /* race to get the inode */
error = VFS_VGET(vdp->v_mount, saved_ino, LK_EXCLUSIVE, &tdp);
vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY);
if (error != 0)
diff --git a/sys/gnu/fs/ext2fs/ext2_vfsops.c b/sys/gnu/fs/ext2fs/ext2_vfsops.c
index 06e42cb..79a5776 100644
--- a/sys/gnu/fs/ext2fs/ext2_vfsops.c
+++ b/sys/gnu/fs/ext2fs/ext2_vfsops.c
@@ -205,10 +205,10 @@ ext2_mount(mp, 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);
DROP_GIANT();
g_topology_lock();
error = g_access(ump->um_cp, 0, 1, 0);
@@ -520,7 +520,7 @@ ext2_reload(struct mount *mp, struct thread *td)
vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
if (vinvalbuf(devvp, 0, td, 0, 0) != 0)
panic("ext2_reload: dirty1");
- VOP_UNLOCK(devvp, 0, td);
+ VOP_UNLOCK(devvp, 0);
/*
* Step 2: re-read superblock from disk.
@@ -572,7 +572,7 @@ loop:
bread(devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)),
(int)fs->s_blocksize, NOCRED, &bp);
if (error) {
- VOP_UNLOCK(vp, 0, td);
+ VOP_UNLOCK(vp, 0);
vrele(vp);
MNT_VNODE_FOREACH_ABORT(mp, mvp);
return (error);
@@ -580,7 +580,7 @@ loop:
ext2_ei2i((struct ext2_inode *) ((char *)bp->b_data +
EXT2_INODE_SIZE * ino_to_fsbo(fs, ip->i_number)), ip);
brelse(bp);
- VOP_UNLOCK(vp, 0, td);
+ VOP_UNLOCK(vp, 0);
vrele(vp);
MNT_ILOCK(mp);
}
@@ -614,7 +614,7 @@ ext2_mountfs(devvp, mp, td)
error = g_vfs_open(devvp, &cp, "ext2fs", ronly ? 0 : 1);
g_topology_unlock();
PICKUP_GIANT();
- VOP_UNLOCK(devvp, 0, td);
+ VOP_UNLOCK(devvp, 0);
if (error)
return (error);
@@ -907,7 +907,7 @@ loop:
}
if ((error = VOP_FSYNC(vp, waitfor, td)) != 0)
allerror = error;
- VOP_UNLOCK(vp, 0, td);
+ VOP_UNLOCK(vp, 0);
vrele(vp);
MNT_ILOCK(mp);
}
@@ -919,7 +919,7 @@ loop:
vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY);
if ((error = VOP_FSYNC(ump->um_devvp, waitfor, td)) != 0)
allerror = error;
- VOP_UNLOCK(ump->um_devvp, 0, td);
+ VOP_UNLOCK(ump->um_devvp, 0);
}
/*
* Write back modified superblock.
diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c
index e1b5f4e..eaf7443 100644
--- a/sys/gnu/fs/ext2fs/ext2_vnops.c
+++ b/sys/gnu/fs/ext2fs/ext2_vnops.c
@@ -767,7 +767,6 @@ ext2_rename(ap)
struct vnode *fdvp = ap->a_fdvp;
struct componentname *tcnp = ap->a_tcnp;
struct componentname *fcnp = ap->a_fcnp;
- struct thread *td = fcnp->cn_thread;
struct inode *ip, *xp, *dp;
struct dirtemplate dirbuf;
int doingdirectory = 0, oldparent = 0, newparent = 0;
@@ -818,13 +817,13 @@ abortit:
dp = VTOI(fdvp);
ip = VTOI(fvp);
if (ip->i_nlink >= LINK_MAX) {
- VOP_UNLOCK(fvp, 0, td);
+ VOP_UNLOCK(fvp, 0);
error = EMLINK;
goto abortit;
}
if ((ip->i_flags & (NOUNLINK | IMMUTABLE | APPEND))
|| (dp->i_flags & APPEND)) {
- VOP_UNLOCK(fvp, 0, td);
+ VOP_UNLOCK(fvp, 0);
error = EPERM;
goto abortit;
}
@@ -835,7 +834,7 @@ abortit:
if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') ||
dp == ip || (fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT ||
(ip->i_flag & IN_RENAME)) {
- VOP_UNLOCK(fvp, 0, td);
+ VOP_UNLOCK(fvp, 0);
error = EINVAL;
goto abortit;
}
@@ -863,7 +862,7 @@ abortit:
ip->i_nlink++;
ip->i_flag |= IN_CHANGE;
if ((error = ext2_update(fvp, 1)) != 0) {
- VOP_UNLOCK(fvp, 0, td);
+ VOP_UNLOCK(fvp, 0);
goto bad;
}
@@ -878,7 +877,7 @@ abortit:
* call to checkpath().
*/
error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_thread);
- VOP_UNLOCK(fvp, 0, td);
+ VOP_UNLOCK(fvp, 0);
if (oldparent != dp->i_number)
newparent = dp->i_number;
if (doingdirectory && newparent) {
@@ -1264,7 +1263,6 @@ ext2_rmdir(ap)
struct vnode *vp = ap->a_vp;
struct vnode *dvp = ap->a_dvp;
struct componentname *cnp = ap->a_cnp;
- struct thread *td = cnp->cn_thread;
struct inode *ip, *dp;
int error;
@@ -1299,7 +1297,7 @@ ext2_rmdir(ap)
dp->i_nlink--;
dp->i_flag |= IN_CHANGE;
cache_purge(dvp);
- VOP_UNLOCK(dvp, 0, td);
+ VOP_UNLOCK(dvp, 0);
/*
* Truncate inode. The only stuff left
* in the directory is "." and "..". The
@@ -1312,7 +1310,8 @@ ext2_rmdir(ap)
* worry about them later.
*/
ip->i_nlink -= 2;
- error = ext2_truncate(vp, (off_t)0, IO_SYNC, cnp->cn_cred, td);
+ error = ext2_truncate(vp, (off_t)0, IO_SYNC, cnp->cn_cred,
+ cnp->cn_thread);
cache_purge(ITOV(ip));
vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
out:
diff --git a/sys/gnu/fs/ext2fs/fs.h b/sys/gnu/fs/ext2fs/fs.h
index 157eacb..d9e7000 100644
--- a/sys/gnu/fs/ext2fs/fs.h
+++ b/sys/gnu/fs/ext2fs/fs.h
@@ -146,7 +146,7 @@ extern u_char *fragtbl[];
*/
#define DEVVP(inode) (VFSTOEXT2(ITOV(inode)->v_mount)->um_devvp)
#define lock_super(devvp) vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY)
-#define unlock_super(devvp) VOP_UNLOCK(devvp, 0, curthread)
+#define unlock_super(devvp) VOP_UNLOCK(devvp, 0)
/*
* Historically, ext2fs kept it's metadata buffers on the LOCKED queue. Now,
diff --git a/sys/gnu/fs/reiserfs/reiserfs_inode.c b/sys/gnu/fs/reiserfs/reiserfs_inode.c
index 3eddd84..90315b0 100644
--- a/sys/gnu/fs/reiserfs/reiserfs_inode.c
+++ b/sys/gnu/fs/reiserfs/reiserfs_inode.c
@@ -804,7 +804,7 @@ reiserfs_iget(
vp->v_vflag |= VV_ROOT;
#if 0
- if (VOP_LOCK(vp, LK_EXCLUSIVE, td) != 0)
+ if (VOP_LOCK(vp, LK_EXCLUSIVE) != 0)
panic("reiserfs/iget: unexpected lock failure");
/*
diff --git a/sys/gnu/fs/reiserfs/reiserfs_namei.c b/sys/gnu/fs/reiserfs/reiserfs_namei.c
index 84a7bf8..61e88f4 100644
--- a/sys/gnu/fs/reiserfs/reiserfs_namei.c
+++ b/sys/gnu/fs/reiserfs/reiserfs_namei.c
@@ -79,7 +79,7 @@ reiserfs_lookup(struct vop_cachedlookup_args *ap)
pdp = vdp;
if (flags & ISDOTDOT) {
saved_ino = (struct cpu_key *)&(de.de_dir_id);
- VOP_UNLOCK(pdp, 0, td);
+ VOP_UNLOCK(pdp, 0);
error = reiserfs_iget(vdp->v_mount,
saved_ino, &vp, td);
vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY);
diff --git a/sys/gnu/fs/reiserfs/reiserfs_vfsops.c b/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
index ee5cb60..8621818 100644
--- a/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
+++ b/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
@@ -449,7 +449,7 @@ reiserfs_mountfs(struct vnode *devvp, struct mount *mp, struct thread *td)
error = vinvalbuf(devvp, V_SAVE, td->td_ucred, td, 0, 0);
if (error) {
- VOP_UNLOCK(devvp, 0, td);
+ VOP_UNLOCK(devvp, 0);
return (error);
}
@@ -458,7 +458,7 @@ reiserfs_mountfs(struct vnode *devvp, struct mount *mp, struct thread *td)
* for now
*/
error = VOP_OPEN(devvp, FREAD, FSCRED, td, NULL);
- VOP_UNLOCK(devvp, 0, td);
+ VOP_UNLOCK(devvp, 0);
if (error)
return (error);
#else
@@ -467,7 +467,7 @@ reiserfs_mountfs(struct vnode *devvp, struct mount *mp, struct thread *td)
error = g_vfs_open(devvp, &cp, "reiserfs", /* read-only */ 0);
g_topology_unlock();
PICKUP_GIANT();
- VOP_UNLOCK(devvp, 0, td);
+ VOP_UNLOCK(devvp, 0);
if (error)
return (error);
diff --git a/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c b/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c
index 8d3ba0f..244ad30 100644
--- a/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c
+++ b/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c
@@ -302,7 +302,7 @@ _xfs_root(mp, flags, vpp, td)
XVFS_ROOT(MNTTOVFS(mp), &vp, error);
if (error == 0) {
*vpp = vp->v_vnode;
- VOP_LOCK(*vpp, flags, curthread);
+ VOP_LOCK(*vpp, flags);
}
return (error);
}
diff --git a/sys/gnu/fs/xfs/FreeBSD/xfs_super.c b/sys/gnu/fs/xfs/FreeBSD/xfs_super.c
index 6f1d8b8..c7968bb 100644
--- a/sys/gnu/fs/xfs/FreeBSD/xfs_super.c
+++ b/sys/gnu/fs/xfs/FreeBSD/xfs_super.c
@@ -105,7 +105,7 @@ xfs_initialize_vnode(
* and unlock the inode.
*/
if (ip->i_d.di_mode != 0 && unlock)
- VOP_UNLOCK(xvp->v_vnode, 0, curthread);
+ VOP_UNLOCK(xvp->v_vnode, 0);
}
#if 0
@@ -189,7 +189,7 @@ xfs_blkdev_get(
vput(devvp);
return (error);
}
- VOP_UNLOCK(devvp, 0, td);
+ VOP_UNLOCK(devvp, 0);
devvp->v_bufobj.bo_private = cp;
devvp->v_bufobj.bo_ops = &xfs_bo_ops;
diff --git a/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c b/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c
index c014efc..8e2b1f9 100644
--- a/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c
+++ b/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c
@@ -139,7 +139,7 @@ vn_purge(struct xfs_vnode *xfs_vp)
if (vp->v_holdcnt == 0)
vhold(vp);
vgone(vp);
- VOP_UNLOCK(vp, 0, curthread);
+ VOP_UNLOCK(vp, 0);
}
void xfs_ichgtime(
diff --git a/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c b/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c
index 80435a7..90a0b48 100644
--- a/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c
+++ b/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c
@@ -751,7 +751,7 @@ _xfs_create(
if (error == 0) {
*ap->a_vpp = xvp->v_vnode;
- VOP_LOCK(xvp->v_vnode, LK_EXCLUSIVE, td);
+ VOP_LOCK(xvp->v_vnode, LK_EXCLUSIVE);
}
return (error);
@@ -886,7 +886,7 @@ _xfs_symlink(
if (error == 0) {
*ap->a_vpp = xvp->v_vnode;
- VOP_LOCK(xvp->v_vnode, LK_EXCLUSIVE, td);
+ VOP_LOCK(xvp->v_vnode, LK_EXCLUSIVE);
}
return (error);
@@ -922,7 +922,7 @@ _xfs_mknod(
if (error == 0) {
*ap->a_vpp = xvp->v_vnode;
- VOP_LOCK(xvp->v_vnode, LK_EXCLUSIVE, td);
+ VOP_LOCK(xvp->v_vnode, LK_EXCLUSIVE);
}
return (error);
@@ -956,7 +956,7 @@ _xfs_mkdir(
if (error == 0) {
*ap->a_vpp = xvp->v_vnode;
- VOP_LOCK(xvp->v_vnode, LK_EXCLUSIVE, td);
+ VOP_LOCK(xvp->v_vnode, LK_EXCLUSIVE);
}
return (error);
@@ -1322,7 +1322,7 @@ _xfs_cachedlookup(
}
if (flags & ISDOTDOT) {
- VOP_UNLOCK(dvp, 0, td);
+ VOP_UNLOCK(dvp, 0);
error = vn_lock(tvp, cnp->cn_lkflags);
if (error) {
vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
OpenPOWER on IntegriCloud