diff options
author | attilio <attilio@FreeBSD.org> | 2008-01-10 01:10:58 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2008-01-10 01:10:58 +0000 |
commit | 18d0a0dd51c7995ce9e549616f78ef724096b1bd (patch) | |
tree | c4e28d990eaa525916ab09f2bd1d9c6ddf2c8dea /sys/fs | |
parent | 8df9c26bfdf7538c15226c902c07a0fe350ace36 (diff) | |
download | FreeBSD-src-18d0a0dd51c7995ce9e549616f78ef724096b1bd.zip FreeBSD-src-18d0a0dd51c7995ce9e549616f78ef724096b1bd.tar.gz |
vn_lock() is currently only used with the 'curthread' passed as argument.
Remove this argument and pass curthread directly to underlying
VOP_LOCK1() VFS method. This modify makes the code cleaner and in
particular remove an annoying dependence helping next lockmgr() cleanup.
KPI results, obviously, changed.
Manpage and FreeBSD_version will be updated through further commits.
As a side note, would be valuable to say that next commits will address
a similar cleanup about VFS methods, in particular vop_lock1 and
vop_unlock.
Tested by: Diego Sardina <siarodx at gmail dot com>,
Andrea Di Pasquale <whyx dot it at gmail dot com>
Diffstat (limited to 'sys/fs')
35 files changed, 77 insertions, 77 deletions
diff --git a/sys/fs/cd9660/cd9660_lookup.c b/sys/fs/cd9660/cd9660_lookup.c index 3d177c4..ddaf8dd 100644 --- a/sys/fs/cd9660/cd9660_lookup.c +++ b/sys/fs/cd9660/cd9660_lookup.c @@ -354,7 +354,7 @@ found: LK_EXCLUSIVE, &tdp, saved_ino != ino, ep); brelse(bp); - vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY); if (error) return (error); *vpp = tdp; diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c index 651765e..a63f3d6 100644 --- a/sys/fs/cd9660/cd9660_vfsops.c +++ b/sys/fs/cd9660/cd9660_vfsops.c @@ -170,7 +170,7 @@ cd9660_mount(struct mount *mp, struct thread *td) * or has superuser abilities */ accessmode = VREAD; - vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); error = VOP_ACCESS(devvp, accessmode, td->td_ucred, td); if (error) error = priv_check(td, PRIV_VFS_MOUNT_PERM); @@ -224,7 +224,7 @@ iso_mountfs(devvp, mp, td) struct bufobj *bo; char *cs_local, *cs_disk; - vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); DROP_GIANT(); g_topology_lock(); error = g_vfs_open(devvp, &cp, "cd9660", 0); diff --git a/sys/fs/coda/coda_vfsops.c b/sys/fs/coda/coda_vfsops.c index 27da6e2..c0a7868 100644 --- a/sys/fs/coda/coda_vfsops.c +++ b/sys/fs/coda/coda_vfsops.c @@ -297,7 +297,7 @@ coda_root(vfsp, flags, vpp, td) /* On Mach, this is vref. On NetBSD, VOP_LOCK */ #if 1 vref(*vpp); - vn_lock(*vpp, LK_EXCLUSIVE, td); + vn_lock(*vpp, LK_EXCLUSIVE); #else vget(*vpp, LK_EXCLUSIVE, td); #endif @@ -320,7 +320,7 @@ coda_root(vfsp, flags, vpp, td) *vpp = mi->mi_rootvp; #if 1 vref(*vpp); - vn_lock(*vpp, LK_EXCLUSIVE, td); + vn_lock(*vpp, LK_EXCLUSIVE); #else vget(*vpp, LK_EXCLUSIVE, td); #endif @@ -340,7 +340,7 @@ coda_root(vfsp, flags, vpp, td) *vpp = mi->mi_rootvp; #if 1 vref(*vpp); - vn_lock(*vpp, LK_EXCLUSIVE, td); + vn_lock(*vpp, LK_EXCLUSIVE); #else vget(*vpp, LK_EXCLUSIVE, td); #endif diff --git a/sys/fs/coda/coda_vnops.c b/sys/fs/coda/coda_vnops.c index 19d31a6..51f9d62 100644 --- a/sys/fs/coda/coda_vnops.c +++ b/sys/fs/coda/coda_vnops.c @@ -931,11 +931,11 @@ coda_lookup(struct vop_lookup_args *ap) */ if (*ap->a_vpp) { if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE, td))) { - vn_lock(dvp, LK_RETRY|LK_EXCLUSIVE, td); + vn_lock(dvp, LK_RETRY|LK_EXCLUSIVE); return (error); } } - vn_lock(dvp, LK_RETRY|LK_EXCLUSIVE, td); + vn_lock(dvp, LK_RETRY|LK_EXCLUSIVE); } else { /* The parent is locked, and may be the same as the child */ if (*ap->a_vpp && (*ap->a_vpp != dvp)) { diff --git a/sys/fs/devfs/devfs_devs.c b/sys/fs/devfs/devfs_devs.c index 526f20d..7ca8e6b 100644 --- a/sys/fs/devfs/devfs_devs.c +++ b/sys/fs/devfs/devfs_devs.c @@ -259,7 +259,7 @@ devfs_delete(struct devfs_mount *dm, struct devfs_dirent *de, int vp_locked) vholdl(vp); sx_unlock(&dm->dm_lock); if (!vp_locked) - vn_lock(vp, LK_EXCLUSIVE | LK_INTERLOCK | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_INTERLOCK | LK_RETRY); else VI_UNLOCK(vp); vgone(vp); diff --git a/sys/fs/devfs/devfs_vnops.c b/sys/fs/devfs/devfs_vnops.c index 6cae05e..5e4fa4d 100644 --- a/sys/fs/devfs/devfs_vnops.c +++ b/sys/fs/devfs/devfs_vnops.c @@ -247,7 +247,7 @@ devfs_allocv(struct devfs_dirent *de, struct mount *mp, struct vnode **vpp, stru } else { vp->v_type = VBAD; } - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); mtx_lock(&devfs_de_interlock); vp->v_data = de; de->de_vnode = vp; @@ -372,7 +372,7 @@ devfs_close(struct vop_close_args *ap) error = dsw->d_close(dev, ap->a_fflag, S_IFCHR, td); } dev_relthread(dev); - vn_lock(vp, vp_locked | LK_RETRY, td); + vn_lock(vp, vp_locked | LK_RETRY); vdrop(vp); return (error); } @@ -593,7 +593,7 @@ devfs_lookupx(struct vop_lookup_args *ap, int *dm_unlock) de = de->de_dir; error = devfs_allocv(de, dvp->v_mount, vpp, td); *dm_unlock = 0; - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); return (error); } @@ -786,7 +786,7 @@ devfs_open(struct vop_open_args *ap) error = dsw->d_open(dev, ap->a_mode, S_IFCHR, td); } - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); dev_relthread(dev); @@ -1101,7 +1101,7 @@ devfs_revoke(struct vop_revoke_args *ap) } else dev_unlock(); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, curthread); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); return (0); } diff --git a/sys/fs/fdescfs/fdesc_vfsops.c b/sys/fs/fdescfs/fdesc_vfsops.c index 5c39978..12ab09b 100644 --- a/sys/fs/fdescfs/fdesc_vfsops.c +++ b/sys/fs/fdescfs/fdesc_vfsops.c @@ -149,7 +149,7 @@ fdesc_root(mp, flags, vpp, td) */ vp = VFSTOFDESC(mp)->f_root; VREF(vp); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); *vpp = vp; return (0); } diff --git a/sys/fs/fdescfs/fdesc_vnops.c b/sys/fs/fdescfs/fdesc_vnops.c index a293b9c..6237362 100644 --- a/sys/fs/fdescfs/fdesc_vnops.c +++ b/sys/fs/fdescfs/fdesc_vnops.c @@ -234,7 +234,7 @@ fdesc_lookup(ap) goto bad; VTOFDESC(fvp)->fd_fd = fd; if (fvp != dvp) - vn_lock(fvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(fvp, LK_EXCLUSIVE | LK_RETRY); *vpp = fvp; return (0); @@ -409,7 +409,7 @@ fdesc_setattr(ap) } vp = fp->f_vnode; if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) == 0) { - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, ap->a_td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_SETATTR(vp, ap->a_vap, ap->a_cred, ap->a_td); VOP_UNLOCK(vp, 0, ap->a_td); vn_finished_write(mp); diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c index 9b0ad1e..4ad3f15 100644 --- a/sys/fs/fifofs/fifo_vnops.c +++ b/sys/fs/fifofs/fifo_vnops.c @@ -257,7 +257,7 @@ fail1: VOP_UNLOCK(vp, 0, td); error = msleep(&fip->fi_readers, &fifo_mtx, PDROP | PCATCH | PSOCK, "fifoor", 0); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if (error) { fip->fi_readers--; if (fip->fi_readers == 0) { @@ -277,7 +277,7 @@ fail1: VOP_UNLOCK(vp, 0, td); error = msleep(&fip->fi_writers, &fifo_mtx, PDROP | PCATCH | PSOCK, "fifoow", 0); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); if (error) { fip->fi_writers--; if (fip->fi_writers == 0) { diff --git a/sys/fs/hpfs/hpfs_vnops.c b/sys/fs/hpfs/hpfs_vnops.c index ffe13d9..dc599b6 100644 --- a/sys/fs/hpfs/hpfs_vnops.c +++ b/sys/fs/hpfs/hpfs_vnops.c @@ -1066,7 +1066,7 @@ hpfs_lookup(ap) VOP_UNLOCK(dvp,0,cnp->cn_thread); error = VFS_VGET(hpmp->hpm_mp, dhp->h_fn.fn_parent, LK_EXCLUSIVE, ap->a_vpp); - vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY, cnp->cn_thread); + vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY); if (error) return(error); } diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c index 1c9a67d..90b72ff 100644 --- a/sys/fs/msdosfs/msdosfs_lookup.c +++ b/sys/fs/msdosfs/msdosfs_lookup.c @@ -522,7 +522,7 @@ foundroot: if (flags & ISDOTDOT) { VOP_UNLOCK(pdp, 0, td); error = deget(pmp, cluster, blkoff, &tdp); - vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY); if (error) return (error); *vpp = DETOV(tdp); diff --git a/sys/fs/msdosfs/msdosfs_vfsops.c b/sys/fs/msdosfs/msdosfs_vfsops.c index db95e1c..0bc4964 100644 --- a/sys/fs/msdosfs/msdosfs_vfsops.c +++ b/sys/fs/msdosfs/msdosfs_vfsops.c @@ -312,7 +312,7 @@ msdosfs_mount(struct mount *mp, struct thread *td) * that user has necessary permissions on the device. */ devvp = pmp->pm_devvp; - vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); error = VOP_ACCESS(devvp, VREAD | VWRITE, td->td_ucred, td); if (error) @@ -928,7 +928,7 @@ loop: * Flush filesystem control info. */ if (waitfor != MNT_LAZY) { - vn_lock(pmp->pm_devvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(pmp->pm_devvp, LK_EXCLUSIVE | LK_RETRY); error = VOP_FSYNC(pmp->pm_devvp, waitfor, td); if (error) allerror = error; diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 96f63ff..a62b927 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1032,7 +1032,7 @@ abortit: goto abortit; } - error = vn_lock(fvp, LK_EXCLUSIVE, td); + error = vn_lock(fvp, LK_EXCLUSIVE); if (error) goto abortit; dp = VTODE(fdvp); @@ -1480,7 +1480,7 @@ msdosfs_rmdir(ap) error = detrunc(ip, (u_long)0, IO_SYNC, cnp->cn_cred, td); cache_purge(vp); - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); out: return (error); } diff --git a/sys/fs/ntfs/ntfs_vfsops.c b/sys/fs/ntfs/ntfs_vfsops.c index a7da732..f5e8015 100644 --- a/sys/fs/ntfs/ntfs_vfsops.c +++ b/sys/fs/ntfs/ntfs_vfsops.c @@ -743,7 +743,7 @@ ntfs_vgetex( ntfs_ntput(ip); if (lkflags & LK_TYPE_MASK) { - error = vn_lock(vp, lkflags, td); + error = vn_lock(vp, lkflags); if (error) { vput(vp); return (error); diff --git a/sys/fs/ntfs/ntfs_vnops.c b/sys/fs/ntfs/ntfs_vnops.c index bc30044..8d30ec3 100644 --- a/sys/fs/ntfs/ntfs_vnops.c +++ b/sys/fs/ntfs/ntfs_vnops.c @@ -664,7 +664,7 @@ ntfs_lookup(ap) LK_EXCLUSIVE, ap->a_vpp); ntfs_ntvattrrele(vap); if (error) { - vn_lock(dvp,LK_EXCLUSIVE|LK_RETRY,cnp->cn_thread); + vn_lock(dvp,LK_EXCLUSIVE|LK_RETRY); return (error); } } else { diff --git a/sys/fs/nullfs/null_subr.c b/sys/fs/nullfs/null_subr.c index 496be3c..d6a31d1 100644 --- a/sys/fs/nullfs/null_subr.c +++ b/sys/fs/nullfs/null_subr.c @@ -192,7 +192,7 @@ null_insmntque_dtr(struct vnode *vp, void *xp) vp->v_vnlock = &vp->v_lock; FREE(xp, M_NULLFSNODE); vp->v_op = &dead_vnodeops; - (void) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, curthread); + (void) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); vgone(vp); vput(vp); } diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c index 02cdc40..9f1caf8 100644 --- a/sys/fs/nullfs/null_vfsops.c +++ b/sys/fs/nullfs/null_vfsops.c @@ -121,7 +121,7 @@ nullfs_mount(struct mount *mp, struct thread *td) * Re-lock vnode. */ if (isvnunlocked && !VOP_ISLOCKED(mp->mnt_vnodecovered, NULL)) - vn_lock(mp->mnt_vnodecovered, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(mp->mnt_vnodecovered, LK_EXCLUSIVE | LK_RETRY); if (error) return (error); @@ -250,7 +250,7 @@ nullfs_root(mp, flags, vpp, td) if (VOP_ISLOCKED(vp, NULL)) panic("root vnode is locked.\n"); #endif - vn_lock(vp, flags | LK_RETRY, td); + vn_lock(vp, flags | LK_RETRY); *vpp = vp; return 0; } diff --git a/sys/fs/nwfs/nwfs_node.c b/sys/fs/nwfs/nwfs_node.c index 92b7f86..e4309fa 100644 --- a/sys/fs/nwfs/nwfs_node.c +++ b/sys/fs/nwfs/nwfs_node.c @@ -205,7 +205,7 @@ rescan: *vpp = vp; nhpp = NWNOHASH(fid); LIST_INSERT_HEAD(nhpp, np, n_hash); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); lockmgr(&nwhashlock, LK_RELEASE, NULL, td); ASSERT_VOP_LOCKED(dvp, "nwfs_allocvp"); diff --git a/sys/fs/nwfs/nwfs_vnops.c b/sys/fs/nwfs/nwfs_vnops.c index 1dd2ae5..9cd9da9 100644 --- a/sys/fs/nwfs/nwfs_vnops.c +++ b/sys/fs/nwfs/nwfs_vnops.c @@ -960,7 +960,7 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_vflag & VV_ROOT, (int)flags & ISDO if (flags & ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); /* race to get the inode */ error = nwfs_nget(mp, fid, NULL, NULL, &vp); - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); if (error) return (error); *vpp = vp; diff --git a/sys/fs/portalfs/portal_vfsops.c b/sys/fs/portalfs/portal_vfsops.c index f51ee5d..cc02f13 100644 --- a/sys/fs/portalfs/portal_vfsops.c +++ b/sys/fs/portalfs/portal_vfsops.c @@ -224,7 +224,7 @@ portal_root(mp, flags, vpp, td) */ vp = VFSTOPORTAL(mp)->pm_root; VREF(vp); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); *vpp = vp; return (0); } diff --git a/sys/fs/portalfs/portal_vnops.c b/sys/fs/portalfs/portal_vnops.c index d6c4bc5..5d086c9 100644 --- a/sys/fs/portalfs/portal_vnops.c +++ b/sys/fs/portalfs/portal_vnops.c @@ -103,7 +103,6 @@ portal_lookup(ap) struct vnode **vpp = ap->a_vpp; struct vnode *dvp = ap->a_dvp; char *pname = cnp->cn_nameptr; - struct thread *td = cnp->cn_thread; struct portalnode *pt; int error; struct vnode *fvp = 0; @@ -153,7 +152,7 @@ portal_lookup(ap) pt->pt_fileid = portal_fileid++; *vpp = fvp; - vn_lock(fvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(fvp, LK_EXCLUSIVE | LK_RETRY); error = insmntque(fvp, dvp->v_mount); if (error != 0) { *vpp = NULLVP; diff --git a/sys/fs/procfs/procfs.c b/sys/fs/procfs/procfs.c index 56bc0cc..30d1675 100644 --- a/sys/fs/procfs/procfs.c +++ b/sys/fs/procfs/procfs.c @@ -75,7 +75,7 @@ procfs_doprocfile(PFS_FILL_ARGS) textvp = p->p_textvp; VI_LOCK(textvp); vholdl(textvp); - err = vn_lock(textvp, LK_EXCLUSIVE | LK_INTERLOCK, td); + err = vn_lock(textvp, LK_EXCLUSIVE | LK_INTERLOCK); vdrop(textvp); if (err) return (err); diff --git a/sys/fs/procfs/procfs_map.c b/sys/fs/procfs/procfs_map.c index 748fef3..95a4503 100644 --- a/sys/fs/procfs/procfs_map.c +++ b/sys/fs/procfs/procfs_map.c @@ -182,7 +182,7 @@ procfs_doprocmap(PFS_FILL_ARGS) VM_OBJECT_UNLOCK(obj); if (vp != NULL) { vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); vn_fullpath(td, vp, &fullpath, &freepath); vput(vp); VFS_UNLOCK_GIANT(vfslocked); diff --git a/sys/fs/pseudofs/pseudofs_vncache.c b/sys/fs/pseudofs/pseudofs_vncache.c index 57aa983..36c03b4 100644 --- a/sys/fs/pseudofs/pseudofs_vncache.c +++ b/sys/fs/pseudofs/pseudofs_vncache.c @@ -197,7 +197,7 @@ retry: (*vpp)->v_vflag |= VV_PROCDEP; pvd->pvd_vnode = *vpp; (*vpp)->v_vnlock->lk_flags |= LK_CANRECURSE; - vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY, curthread); + vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY); error = insmntque(*vpp, mp); if (error != 0) { mtx_lock(&pfs_vncache_mutex); diff --git a/sys/fs/pseudofs/pseudofs_vnops.c b/sys/fs/pseudofs/pseudofs_vnops.c index 354b01a..722a262 100644 --- a/sys/fs/pseudofs/pseudofs_vnops.c +++ b/sys/fs/pseudofs/pseudofs_vnops.c @@ -428,13 +428,13 @@ pfs_lookup(struct vop_cachedlookup_args *va) goto failed; if (cnp->cn_flags & ISDOTDOT) - vn_lock(vn, LK_EXCLUSIVE|LK_RETRY, cnp->cn_thread); + vn_lock(vn, LK_EXCLUSIVE|LK_RETRY); if (cnp->cn_flags & MAKEENTRY) cache_enter(vn, *vpp, cnp); PFS_RETURN (0); failed: if (cnp->cn_flags & ISDOTDOT) - vn_lock(vn, LK_EXCLUSIVE|LK_RETRY, cnp->cn_thread); + vn_lock(vn, LK_EXCLUSIVE|LK_RETRY); PFS_RETURN(error); } diff --git a/sys/fs/smbfs/smbfs_io.c b/sys/fs/smbfs/smbfs_io.c index 98008be..14ebdb7 100644 --- a/sys/fs/smbfs/smbfs_io.c +++ b/sys/fs/smbfs/smbfs_io.c @@ -205,10 +205,10 @@ smbfs_readvnode(struct vnode *vp, struct uio *uiop, struct ucred *cred) if (vp->v_type == VDIR) { lks = LK_EXCLUSIVE;/*lockstatus(vp->v_vnlock, td);*/ if (lks == LK_SHARED) - vn_lock(vp, LK_UPGRADE | LK_RETRY, td); + vn_lock(vp, LK_UPGRADE | LK_RETRY); error = smbfs_readvdir(vp, uiop, cred); if (lks == LK_SHARED) - vn_lock(vp, LK_DOWNGRADE | LK_RETRY, td); + vn_lock(vp, LK_DOWNGRADE | LK_RETRY); return error; } diff --git a/sys/fs/smbfs/smbfs_node.c b/sys/fs/smbfs/smbfs_node.c index 84fa330..20ac89d 100644 --- a/sys/fs/smbfs/smbfs_node.c +++ b/sys/fs/smbfs/smbfs_node.c @@ -260,7 +260,7 @@ loop: SMBERROR("new vnode '%s' born without parent ?\n", np->n_name); vp->v_vnlock->lk_flags |= LK_CANRECURSE; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); smbfs_hash_lock(smp, td); LIST_FOREACH(np2, nhpp, n_hash) { diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index 4c84e00..d697f1a 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -1249,7 +1249,7 @@ smbfs_lookup(ap) if (flags & ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); error = smbfs_nget(mp, dvp, name, nmlen, NULL, &vp); - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); if (error) return error; *vpp = vp; diff --git a/sys/fs/tmpfs/tmpfs_subr.c b/sys/fs/tmpfs/tmpfs_subr.c index 63a8deb..0dadf8a 100644 --- a/sys/fs/tmpfs/tmpfs_subr.c +++ b/sys/fs/tmpfs/tmpfs_subr.c @@ -360,7 +360,7 @@ loop: goto unlock; MPASS(vp != NULL); - (void) vn_lock(vp, lkflag | LK_RETRY, td); + (void) vn_lock(vp, lkflag | LK_RETRY); vp->v_data = node; vp->v_type = node->tn_type; diff --git a/sys/fs/tmpfs/tmpfs_vfsops.c b/sys/fs/tmpfs/tmpfs_vfsops.c index 6253990..3640bdc 100644 --- a/sys/fs/tmpfs/tmpfs_vfsops.c +++ b/sys/fs/tmpfs/tmpfs_vfsops.c @@ -217,7 +217,7 @@ tmpfs_mount(struct mount *mp, struct thread *td) printf("WARNING: TMPFS is considered to be a highly experimental " "feature in FreeBSD.\n"); - vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY, td); + vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY); error = VOP_GETATTR(mp->mnt_vnodecovered, &va, mp->mnt_cred, td); VOP_UNLOCK(mp->mnt_vnodecovered, 0, td); if (error) diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index f9b7db7..1cc7e72 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -104,7 +104,7 @@ tmpfs_lookup(struct vop_cachedlookup_args *v) error = tmpfs_alloc_vp(dvp->v_mount, dnode->tn_dir.tn_parent, cnp->cn_lkflags, vpp, td); - vn_lock(dvp, ltype | LK_RETRY, td); + vn_lock(dvp, ltype | LK_RETRY); vdrop(dvp); } else if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') { VREF(dvp); @@ -925,7 +925,7 @@ tmpfs_rename(struct vop_rename_args *v) /* If we need to move the directory between entries, lock the * source so that we can safely operate on it. */ if (tdvp != fdvp) { - error = vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY, tcnp->cn_thread); + error = vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY); if (error != 0) goto out; } diff --git a/sys/fs/udf/udf_vnops.c b/sys/fs/udf/udf_vnops.c index b77e571..a13a100 100644 --- a/sys/fs/udf/udf_vnops.c +++ b/sys/fs/udf/udf_vnops.c @@ -958,7 +958,7 @@ lookloop: VOP_UNLOCK(dvp, 0, a->a_cnp->cn_thread); error = udf_vget(udfmp->im_mountp, id, LK_EXCLUSIVE, &tdp); if (flags & ISDOTDOT) - vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY, a->a_cnp->cn_thread); + vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY); if (!error) { /* * Remember where this entry was if it's the final diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c index 4ff6308..85d7da0 100644 --- a/sys/fs/unionfs/union_subr.c +++ b/sys/fs/unionfs/union_subr.c @@ -167,7 +167,7 @@ unionfs_nodeget(struct mount *mp, struct vnode *uppervp, vp->v_vflag |= VV_ROOT; if (lkflags & LK_TYPE_MASK) - vn_lock(vp, lkflags | LK_RETRY, td); + vn_lock(vp, lkflags | LK_RETRY); *vpp = vp; @@ -386,7 +386,7 @@ unionfs_relookup(struct vnode *dvp, struct vnode **vpp, if ((error = relookup(dvp, vpp, cn))) { uma_zfree(namei_zone, cn->cn_pnbuf); cn->cn_flags &= ~HASBUF; - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); } else vrele(dvp); @@ -556,7 +556,7 @@ unionfs_node_update(struct unionfs_node *unp, struct vnode *uvp, panic("unionfs: no exclusive lock"); VI_UNLOCK(vp); for (count = 1; count < lockcnt; count++) - vn_lock(uvp, LK_EXCLUSIVE | LK_CANRECURSE | LK_RETRY, td); + vn_lock(uvp, LK_EXCLUSIVE | LK_CANRECURSE | LK_RETRY); } /* diff --git a/sys/fs/unionfs/union_vfsops.c b/sys/fs/unionfs/union_vfsops.c index c9dc884..0f8fb73 100644 --- a/sys/fs/unionfs/union_vfsops.c +++ b/sys/fs/unionfs/union_vfsops.c @@ -190,7 +190,7 @@ unionfs_domount(struct mount *mp, struct thread *td) if (ufile == 0 && udir != 0) ufile = udir; - vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY, td); + vn_lock(mp->mnt_vnodecovered, LK_SHARED | LK_RETRY); error = VOP_GETATTR(mp->mnt_vnodecovered, &va, mp->mnt_cred, td); if (!error) { if (udir == 0) @@ -289,7 +289,7 @@ unionfs_domount(struct mount *mp, struct thread *td) */ if (below) { VOP_UNLOCK(upperrootvp, 0, td); - vn_lock(lowerrootvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(lowerrootvp, LK_EXCLUSIVE | LK_RETRY); ump->um_lowervp = upperrootvp; ump->um_uppervp = lowerrootvp; } else { @@ -429,7 +429,7 @@ unionfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td) vref(vp); if (flags & LK_TYPE_MASK) - vn_lock(vp, flags, td); + vn_lock(vp, flags); *vpp = vp; diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index 74c90b1..2627111 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -146,7 +146,7 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) if (dtmpvp == udvp && ldvp != NULLVP) { VOP_UNLOCK(udvp, 0, td); - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); } if (error == 0) { @@ -165,11 +165,12 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) vref(dunp->un_dvp); if (nameiop == DELETE || nameiop == RENAME) - vn_lock(dunp->un_dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dunp->un_dvp, LK_EXCLUSIVE | LK_RETRY); else if (cnp->cn_lkflags & LK_TYPE_MASK) - vn_lock(dunp->un_dvp, cnp->cn_lkflags | LK_RETRY, td); + vn_lock(dunp->un_dvp, cnp->cn_lkflags | + LK_RETRY); - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); } else if (error == ENOENT && (cnflags & MAKEENTRY) && nameiop != CREATE) cache_enter(dvp, NULLVP, cnp); @@ -278,7 +279,7 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) if (LK_SHARED == (cnp->cn_lkflags & LK_TYPE_MASK)) VOP_UNLOCK(vp, 0, td); if (LK_EXCLUSIVE != VOP_ISLOCKED(vp, td)) { - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); lockflag = 1; } error = unionfs_mkshadowdir(MOUNTTOUNIONFSMOUNT(dvp->v_mount), @@ -294,7 +295,7 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) goto unionfs_lookup_out; } if ((cnp->cn_lkflags & LK_TYPE_MASK) == LK_SHARED) - vn_lock(vp, LK_SHARED | LK_RETRY, td); + vn_lock(vp, LK_SHARED | LK_RETRY); } /* * get unionfs vnode. @@ -314,7 +315,7 @@ unionfs_lookup(struct vop_cachedlookup_args *ap) } if ((nameiop == DELETE || nameiop == RENAME) && (cnp->cn_lkflags & LK_TYPE_MASK) == 0) - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); } *(ap->a_vpp) = vp; @@ -532,7 +533,7 @@ unionfs_close(struct vop_close_args *ap) td = ap->a_td; if (VOP_ISLOCKED(ap->a_vp, td) != LK_EXCLUSIVE) { - vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY); locked = 1; } unionfs_get_node_status(unp, td, &unsp); @@ -876,7 +877,7 @@ unionfs_ioctl(struct vop_ioctl_args *ap) UNIONFS_INTERNAL_DEBUG("unionfs_ioctl: enter\n"); - vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY, ap->a_td); + vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY); unp = VTOUNIONFS(ap->a_vp); unionfs_get_node_status(unp, ap->a_td, &unsp); ovp = (unsp->uns_upper_opencnt ? unp->un_uppervp : unp->un_lowervp); @@ -901,7 +902,7 @@ unionfs_poll(struct vop_poll_args *ap) struct unionfs_node_status *unsp; struct vnode *ovp; - vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY, ap->a_td); + vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY); unp = VTOUNIONFS(ap->a_vp); unionfs_get_node_status(unp, ap->a_td, &unsp); ovp = (unsp->uns_upper_opencnt ? unp->un_uppervp : unp->un_lowervp); @@ -1107,7 +1108,7 @@ unionfs_rename(struct vop_rename_args *ap) if (unp->un_uppervp == NULLVP) { switch (fvp->v_type) { case VREG: - if ((error = vn_lock(fvp, LK_EXCLUSIVE, td)) != 0) + if ((error = vn_lock(fvp, LK_EXCLUSIVE)) != 0) goto unionfs_rename_abort; error = unionfs_copyfile(unp, 1, fcnp->cn_cred, td); VOP_UNLOCK(fvp, 0, td); @@ -1115,7 +1116,7 @@ unionfs_rename(struct vop_rename_args *ap) goto unionfs_rename_abort; break; case VDIR: - if ((error = vn_lock(fvp, LK_EXCLUSIVE, td)) != 0) + if ((error = vn_lock(fvp, LK_EXCLUSIVE)) != 0) goto unionfs_rename_abort; error = unionfs_mkshadowdir(ump, rfdvp, unp, fcnp, td); VOP_UNLOCK(fvp, 0, td); @@ -1169,7 +1170,7 @@ unionfs_rename(struct vop_rename_args *ap) } if (needrelookup != 0) { - if ((error = vn_lock(fdvp, LK_EXCLUSIVE, td)) != 0) + if ((error = vn_lock(fdvp, LK_EXCLUSIVE)) != 0) goto unionfs_rename_abort; error = unionfs_relookup_for_delete(fdvp, fcnp, td); VOP_UNLOCK(fdvp, 0, td); @@ -1181,7 +1182,7 @@ unionfs_rename(struct vop_rename_args *ap) VOP_UNLOCK(tvp, 0, td); error = unionfs_relookup_for_rename(tdvp, tcnp, td); if (tvp != NULLVP && tvp != tdvp) - vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY); if (error != 0) goto unionfs_rename_abort; } @@ -1420,7 +1421,7 @@ unionfs_readdir(struct vop_readdir_args *ap) /* check the open count. unionfs needs to open before readdir. */ if (VOP_ISLOCKED(ap->a_vp, td) != LK_EXCLUSIVE) { - vn_lock(ap->a_vp, LK_UPGRADE | LK_RETRY, td); + vn_lock(ap->a_vp, LK_UPGRADE | LK_RETRY); locked = 1; } unionfs_get_node_status(unp, td, &unsp); @@ -1430,7 +1431,7 @@ unionfs_readdir(struct vop_readdir_args *ap) error = EBADF; } if (locked == 1) - vn_lock(ap->a_vp, LK_DOWNGRADE | LK_RETRY, td); + vn_lock(ap->a_vp, LK_DOWNGRADE | LK_RETRY); if (error != 0) goto unionfs_readdir_exit; @@ -1752,7 +1753,7 @@ unionfs_lock(struct vop_lock1_args *ap) if ((revlock & LK_TYPE_MASK) == LK_RELEASE) VOP_UNLOCK(lvp, revlock, td); else - vn_lock(lvp, revlock | LK_RETRY, td); + vn_lock(lvp, revlock | LK_RETRY); goto unionfs_lock_abort; } } @@ -1872,7 +1873,7 @@ unionfs_advlock(struct vop_advlock_args *ap) vp = ap->a_vp; td = curthread; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); unp = VTOUNIONFS(ap->a_vp); uvp = unp->un_uppervp; @@ -2024,12 +2025,12 @@ unionfs_openextattr(struct vop_openextattr_args *ap) error = VOP_OPENEXTATTR(tvp, ap->a_cred, ap->a_td); if (error == 0) { - vn_lock(vp, LK_UPGRADE | LK_RETRY, ap->a_td); + vn_lock(vp, LK_UPGRADE | LK_RETRY); if (tvp == unp->un_uppervp) unp->un_flag |= UNIONFS_OPENEXTU; else unp->un_flag |= UNIONFS_OPENEXTL; - vn_lock(vp, LK_DOWNGRADE | LK_RETRY, ap->a_td); + vn_lock(vp, LK_DOWNGRADE | LK_RETRY); } return (error); @@ -2058,12 +2059,12 @@ unionfs_closeextattr(struct vop_closeextattr_args *ap) error = VOP_CLOSEEXTATTR(tvp, ap->a_commit, ap->a_cred, ap->a_td); if (error == 0) { - vn_lock(vp, LK_UPGRADE | LK_RETRY, ap->a_td); + vn_lock(vp, LK_UPGRADE | LK_RETRY); if (tvp == unp->un_uppervp) unp->un_flag &= ~UNIONFS_OPENEXTU; else unp->un_flag &= ~UNIONFS_OPENEXTL; - vn_lock(vp, LK_DOWNGRADE | LK_RETRY, ap->a_td); + vn_lock(vp, LK_DOWNGRADE | LK_RETRY); } return (error); |