--- //depot/vendor/freebsd/src/sys/compat/linux/linux_file.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/compat/linux/linux_file.c 2008/01/10 22:23:20 @@ -598,7 +598,7 @@ if (cookies) free(cookies, M_TEMP); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); free(buf, M_TEMP); --- //depot/vendor/freebsd/src/sys/compat/linux/linux_misc.c 2007/10/24 19:06:35 +++ //depot/user/attilio/attilio_schedlock/compat/linux/linux_misc.c 2008/01/10 22:23:20 @@ -377,7 +377,7 @@ * Lock no longer needed */ locked = 0; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); /* @@ -458,7 +458,7 @@ cleanup: /* Unlock vnode if needed */ if (locked) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); } --- //depot/vendor/freebsd/src/sys/compat/ndis/subr_ndis.c 2007/12/03 23:45:51 +++ //depot/user/attilio/attilio_schedlock/compat/ndis/subr_ndis.c 2008/01/10 22:23:20 @@ -2970,7 +2970,7 @@ /* Get the file size. */ VOP_GETATTR(nd.ni_vp, vap, td->td_ucred, td); - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); VFS_UNLOCK_GIANT(vfslocked); fh->nf_vp = nd.ni_vp; --- //depot/vendor/freebsd/src/sys/compat/opensolaris/kern/opensolaris_kobj.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/compat/opensolaris/kern/opensolaris_kobj.c 2008/01/11 15:50:54 @@ -77,12 +77,12 @@ flags = FREAD; NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_SYSSPACE, file, td); - error = vn_open_cred(&nd, &flags, 0, td->td_ucred, NULL); + error = vn_open_cred(&nd, &flags, 0, curthread->td_ucred, NULL); NDFREE(&nd, NDF_ONLY_PNBUF); if (error != 0) return (NULL); /* We just unlock so we hold a reference. */ - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); return (nd.ni_vp); } @@ -125,7 +125,7 @@ vn_lock(vp, LK_SHARED | LK_RETRY); error = VOP_GETATTR(vp, &va, td->td_ucred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error == 0) *size = (uint64_t)va.va_size; return (error); @@ -178,7 +178,7 @@ vn_lock(vp, LK_SHARED | LK_RETRY); error = VOP_READ(vp, &auio, IO_UNIT | IO_SYNC, td->td_ucred); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); return (error != 0 ? -1 : size - auio.uio_resid); } --- //depot/vendor/freebsd/src/sys/compat/opensolaris/kern/opensolaris_vfs.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/compat/opensolaris/kern/opensolaris_vfs.c 2008/01/10 22:23:20 @@ -194,7 +194,7 @@ */ vn_lock(vp, LK_SHARED | LK_RETRY); mp = vfs_mount_alloc(vp, vfsp, fspath, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); mp->mnt_optnew = NULL; vfs_setmntopt(mp, "from", fspec, 0); @@ -260,7 +260,7 @@ panic("mount: lost mount"); mountcheckdirs(vp, mvp); vput(mvp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if ((mp->mnt_flag & MNT_RDONLY) == 0) error = vfs_allocate_syncvnode(mp); vfs_unbusy(mp, td); @@ -272,7 +272,7 @@ VI_LOCK(vp); vp->v_iflag &= ~VI_MOUNT; VI_UNLOCK(vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vfs_unbusy(mp, td); vfs_mount_destroy(mp); } --- //depot/vendor/freebsd/src/sys/compat/opensolaris/sys/vnode.h 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/compat/opensolaris/sys/vnode.h 2008/01/10 22:23:20 @@ -175,7 +175,7 @@ if (error == 0) { /* We just unlock so we hold a reference. */ VN_HOLD(nd.ni_vp); - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); *vpp = nd.ni_vp; } return (error); @@ -213,7 +213,6 @@ static __inline int zfs_vop_fsync(vnode_t *vp, int flag, cred_t *cr) { - struct thread *td = curthread; struct mount *mp; int error, vfslocked; @@ -223,8 +222,8 @@ if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) != 0) goto drop; vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - error = VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + error = VOP_FSYNC(vp, MNT_WAIT, curthread); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); drop: VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/compat/pecoff/imgact_pecoff.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/compat/pecoff/imgact_pecoff.c 2008/01/10 22:23:20 @@ -316,7 +316,7 @@ * Check permissions, modes, uid, etc on the file, and "open" it. */ error = exec_check_permissions(imgp); - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); if (error) goto fail; if ((error = pecoff_read_from(td, imgp->vp, 0, (caddr_t) & dh, sizeof(dh))) != 0) @@ -579,14 +579,13 @@ imgp->image_header; struct coff_filehdr *fp; int error, peofs; - struct thread *td = curthread; error = pecoff_signature(FIRST_THREAD_IN_PROC(imgp->proc), imgp->vp, dp); if (error) { return -1; } - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); peofs = dp->d_peofs + sizeof(signature) - 1; fp = malloc(PECOFF_HDR_SIZE, M_TEMP, M_WAITOK); --- //depot/vendor/freebsd/src/sys/compat/svr4/imgact_svr4.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/compat/svr4/imgact_svr4.c 2008/01/10 22:23:20 @@ -68,7 +68,6 @@ vm_offset_t buffer; unsigned long bss_size; int error; - struct thread *td = curthread; if (((a_out->a_magic >> 16) & 0xff) != 0x64) return -1; @@ -115,7 +114,7 @@ } PROC_UNLOCK(imgp->proc); - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); /* * Destroy old process VM and create a new one (with a new stack) --- //depot/vendor/freebsd/src/sys/compat/svr4/svr4_fcntl.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/compat/svr4/svr4_fcntl.c 2008/01/10 22:23:20 @@ -272,7 +272,7 @@ #ifdef MAC vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = mac_vnode_check_revoke(td->td_ucred, vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error) goto out; #endif --- //depot/vendor/freebsd/src/sys/compat/svr4/svr4_misc.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/compat/svr4/svr4_misc.c 2008/01/10 22:23:20 @@ -396,7 +396,7 @@ eof: td->td_retval[0] = nbytes - resid; out: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); if (cookies) @@ -529,7 +529,7 @@ eof: *retval = uap->nbytes - resid; out: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); if (cookiebuf) @@ -629,7 +629,7 @@ if (error) goto fail; #endif - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = change_root(vp, td); vrele(vp); VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c 2008/01/10 22:23:20 @@ -391,7 +391,7 @@ if (strcmp(nm, "..") == 0) { err = VFS_ROOT(dvp->v_vfsp, LK_EXCLUSIVE, vpp, curthread); if (err == 0) - VOP_UNLOCK(*vpp, 0, curthread); + VOP_UNLOCK(*vpp, 0); } else { err = gfs_dir_lookup(dvp, nm, vpp); } @@ -882,7 +882,7 @@ VERIFY(gfs_dir_lookup(vp, "..", &dvp) == 0); sdp = dvp->v_data; - VOP_UNLOCK(dvp, 0, ap->a_td); + VOP_UNLOCK(dvp, 0); if (!(locked = MUTEX_HELD(&sdp->sd_lock))) mutex_enter(&sdp->sd_lock); --- //depot/vendor/freebsd/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c 2008/01/10 22:23:20 @@ -127,10 +127,10 @@ default: error = ENOTSUP; } - VOP_UNLOCK(ZTOV(dzp), 0, curthread); + VOP_UNLOCK(ZTOV(dzp), 0); if (error == 0 && vp != NULL) { - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); VN_RELE(vp); } @@ -165,7 +165,7 @@ vn_lock(ZTOV(dzp), LK_EXCLUSIVE | LK_RETRY); error = VOP_LOOKUP(ZTOV(dzp), &vp, &cn); if (error != 0) { - VOP_UNLOCK(ZTOV(dzp), 0, curthread); + VOP_UNLOCK(ZTOV(dzp), 0); goto fail; } @@ -180,7 +180,7 @@ error = ENOTSUP; } vput(vp); - VOP_UNLOCK(ZTOV(dzp), 0, curthread); + VOP_UNLOCK(ZTOV(dzp), 0); fail: VN_RELE(ZTOV(dzp)); @@ -214,8 +214,8 @@ vn_lock(ZTOV(dzp), LK_EXCLUSIVE | LK_RETRY); vn_lock(ZTOV(zp), LK_EXCLUSIVE | LK_RETRY); error = VOP_LINK(ZTOV(dzp), ZTOV(zp), &cn); - VOP_UNLOCK(ZTOV(zp), 0, curthread); - VOP_UNLOCK(ZTOV(dzp), 0, curthread); + VOP_UNLOCK(ZTOV(zp), 0); + VOP_UNLOCK(ZTOV(dzp), 0); VN_RELE(ZTOV(zp)); VN_RELE(ZTOV(dzp)); @@ -257,10 +257,10 @@ scn.cn_thread = td; vn_lock(ZTOV(sdzp), LK_EXCLUSIVE | LK_RETRY); error = VOP_LOOKUP(ZTOV(sdzp), &svp, &scn); - VOP_UNLOCK(ZTOV(sdzp), 0, td); + VOP_UNLOCK(ZTOV(sdzp), 0); if (error != 0) goto fail; - VOP_UNLOCK(svp, 0, td); + VOP_UNLOCK(svp, 0); bzero(&tcn, sizeof(tcn)); tcn.cn_nameptr = tname; @@ -275,7 +275,7 @@ if (error == EJUSTRETURN) tvp = NULL; else if (error != 0) { - VOP_UNLOCK(ZTOV(tdzp), 0, td); + VOP_UNLOCK(ZTOV(tdzp), 0); goto fail; } @@ -362,7 +362,7 @@ vp = ZTOV(zp); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_SETATTR(vp, &va, kcred, curthread); - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); VN_RELE(vp); return (error); --- //depot/vendor/freebsd/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c 2008/01/10 22:23:20 @@ -1114,7 +1114,7 @@ if (cnp->cn_flags & ISDOTDOT) { ltype = VOP_ISLOCKED(dvp, td); - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); } error = vn_lock(*vpp, cnp->cn_lkflags); if (cnp->cn_flags & ISDOTDOT) --- //depot/vendor/freebsd/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c 2008/01/10 22:23:20 @@ -87,7 +87,7 @@ mutex_exit(&zp->z_lock); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); vrecycle(vp, curthread); - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); vdrop(vp); zfs_znode_free(zp); } else { --- //depot/vendor/freebsd/src/sys/dev/hwpmc/hwpmc_mod.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/dev/hwpmc/hwpmc_mod.c 2008/01/10 22:23:20 @@ -678,14 +678,12 @@ static void pmc_getfilename(struct vnode *v, char **fullpath, char **freepath) { - struct thread *td; - td = curthread; *fullpath = "unknown"; *freepath = NULL; vn_lock(v, LK_CANRECURSE | LK_EXCLUSIVE | LK_RETRY); - vn_fullpath(td, v, fullpath, freepath); - VOP_UNLOCK(v, 0, td); + vn_fullpath(curthread, v, fullpath, freepath); + VOP_UNLOCK(v, 0); } /* --- //depot/vendor/freebsd/src/sys/dev/md/md.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/dev/md/md.c 2008/01/10 22:23:20 @@ -532,7 +532,7 @@ (void) vn_start_write(vp, &mp, V_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); VFS_UNLOCK_GIANT(vfslocked); return (error); @@ -562,13 +562,13 @@ if (bp->bio_cmd == BIO_READ) { vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_READ(vp, &auio, IO_DIRECT, sc->cred); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); } else { (void) vn_start_write(vp, &mp, V_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_WRITE(vp, &auio, sc->flags & MD_ASYNC ? 0 : IO_SYNC, sc->cred); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); } VFS_UNLOCK_GIANT(vfslocked); @@ -897,7 +897,7 @@ auio.uio_resid = aiov.iov_len; vn_lock(sc->vnode, LK_EXCLUSIVE | LK_RETRY); error = VOP_READ(sc->vnode, &auio, 0, sc->cred); - VOP_UNLOCK(sc->vnode, 0, curthread); + VOP_UNLOCK(sc->vnode, 0); free(tmpbuf, M_TEMP); } return (error); @@ -928,13 +928,13 @@ NDFREE(&nd, NDF_ONLY_PNBUF); if (nd.ni_vp->v_type != VREG || (error = VOP_GETATTR(nd.ni_vp, &vattr, td->td_ucred, td))) { - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); (void)vn_close(nd.ni_vp, flags, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); return (error ? error : EINVAL); } nd.ni_vp->v_vflag |= VV_MD; - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); if (mdio->md_fwsectors != 0) sc->fwsectors = mdio->md_fwsectors; @@ -949,7 +949,7 @@ if (error != 0) { vn_lock(nd.ni_vp, LK_EXCLUSIVE | LK_RETRY); nd.ni_vp->v_vflag &= ~VV_MD; - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); (void)vn_close(nd.ni_vp, flags, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); return (error); @@ -986,7 +986,7 @@ vfslocked = VFS_LOCK_GIANT(sc->vnode->v_mount); vn_lock(sc->vnode, LK_EXCLUSIVE | LK_RETRY); sc->vnode->v_vflag &= ~VV_MD; - VOP_UNLOCK(sc->vnode, 0, td); + VOP_UNLOCK(sc->vnode, 0); (void)vn_close(sc->vnode, sc->flags & MD_READONLY ? FREAD : (FREAD|FWRITE), sc->cred, td); VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/fs/cd9660/cd9660_lookup.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/cd9660/cd9660_lookup.c 2008/01/11 15:50:54 @@ -115,7 +115,6 @@ struct componentname *cnp = ap->a_cnp; int flags = cnp->cn_flags; int nameiop = cnp->cn_nameiop; - struct thread *td = cnp->cn_thread; bp = NULL; *vpp = NULL; @@ -349,7 +348,7 @@ */ 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 = cd9660_vget_internal(vdp->v_mount, saved_ino, LK_EXCLUSIVE, &tdp, saved_ino != ino, ep); --- //depot/vendor/freebsd/src/sys/fs/cd9660/cd9660_vfsops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/cd9660/cd9660_vfsops.c 2008/01/10 22:23:20 @@ -178,7 +178,7 @@ vput(devvp); return (error); } - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); if ((mp->mnt_flag & MNT_UPDATE) == 0) { error = iso_mountfs(devvp, mp, td); @@ -230,7 +230,7 @@ error = g_vfs_open(devvp, &cp, "cd9660", 0); 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) --- //depot/vendor/freebsd/src/sys/fs/coda/coda_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/coda/coda_vnops.c 2008/01/10 22:23:20 @@ -922,7 +922,7 @@ */ if (!error || (error == EJUSTRETURN)) { if (cnp->cn_flags & ISDOTDOT) { - if ((error = VOP_UNLOCK(dvp, 0, td))) { + if ((error = VOP_UNLOCK(dvp, 0))) { return error; } /* @@ -930,7 +930,7 @@ * lock it without bothering to check anything else. */ if (*ap->a_vpp) { - if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE, td))) { + if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE))) { vn_lock(dvp, LK_RETRY|LK_EXCLUSIVE); return (error); } @@ -940,7 +940,7 @@ /* The parent is locked, and may be the same as the child */ if (*ap->a_vpp && (*ap->a_vpp != dvp)) { /* Different, go ahead and lock it. */ - if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE, td))) { + if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE))) { return (error); } } @@ -1026,7 +1026,7 @@ if (!error) { if (cnp->cn_flags & LOCKLEAF) { - if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE, td))) { + if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE))) { printf("coda_create: "); panic("unlocked parent but couldn't lock child"); } --- //depot/vendor/freebsd/src/sys/fs/devfs/devfs_devs.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/devfs/devfs_devs.c 2008/01/10 22:23:20 @@ -245,11 +245,9 @@ devfs_delete(struct devfs_mount *dm, struct devfs_dirent *de, int vp_locked) { struct vnode *vp; - struct thread *td; KASSERT((de->de_flags & DE_DOOMED) == 0, ("devfs_delete doomed dirent")); - td = curthread; de->de_flags |= DE_DOOMED; mtx_lock(&devfs_de_interlock); vp = de->de_vnode; @@ -264,7 +262,7 @@ VI_UNLOCK(vp); vgone(vp); if (!vp_locked) - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vdrop(vp); sx_xlock(&dm->dm_lock); } else --- //depot/vendor/freebsd/src/sys/fs/devfs/devfs_vfsops.c 2006/09/26 04:16:10 +++ //depot/user/attilio/attilio_schedlock/fs/devfs/devfs_vfsops.c 2008/01/10 22:23:20 @@ -100,7 +100,7 @@ return (error); } - VOP_UNLOCK(rvp, 0, td); + VOP_UNLOCK(rvp, 0); vfs_mountedfrom(mp, "devfs"); --- //depot/vendor/freebsd/src/sys/fs/devfs/devfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/devfs/devfs_vnops.c 2008/01/10 22:23:20 @@ -361,7 +361,7 @@ vholdl(vp); VI_UNLOCK(vp); vp_locked = VOP_ISLOCKED(vp, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); KASSERT(dev->si_refcount > 0, ("devfs_close() on un-referenced struct cdev *(%s)", devtoname(dev))); if (!(dsw->d_flags & D_NEEDGIANT)) { @@ -587,7 +587,7 @@ if (flags & ISDOTDOT) { if ((flags & ISLASTCN) && nameiop != LOOKUP) return (EINVAL); - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); de = TAILQ_FIRST(&dd->de_dlist); /* "." */ de = TAILQ_NEXT(de, de_list); /* ".." */ de = de->de_dir; @@ -770,7 +770,7 @@ if (dsw->d_flags & D_TTY) vp->v_vflag |= VV_ISTTY; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if(!(dsw->d_flags & D_NEEDGIANT)) { DROP_GIANT(); @@ -1059,7 +1059,7 @@ vgone(vp); vdrop(vp); - VOP_UNLOCK(vp,0,curthread); + VOP_UNLOCK(vp,0); loop: for (;;) { mtx_lock(&devfs_de_interlock); --- //depot/vendor/freebsd/src/sys/fs/fdescfs/fdesc_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/fdescfs/fdesc_vnops.c 2008/01/10 22:23:20 @@ -411,7 +411,7 @@ if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) == 0) { 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); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); } fdrop(fp, ap->a_td); --- //depot/vendor/freebsd/src/sys/fs/fifofs/fifo_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/fifofs/fifo_vnops.c 2008/01/10 22:23:20 @@ -254,7 +254,7 @@ } if ((ap->a_mode & O_NONBLOCK) == 0) { if ((ap->a_mode & FREAD) && fip->fi_writers == 0) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = msleep(&fip->fi_readers, &fifo_mtx, PDROP | PCATCH | PSOCK, "fifoor", 0); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); @@ -274,7 +274,7 @@ */ } if ((ap->a_mode & FWRITE) && fip->fi_readers == 0) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = msleep(&fip->fi_writers, &fifo_mtx, PDROP | PCATCH | PSOCK, "fifoow", 0); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); --- //depot/vendor/freebsd/src/sys/fs/hpfs/hpfs_vfsops.c 2008/01/07 16:56:04 +++ //depot/user/attilio/attilio_schedlock/fs/hpfs/hpfs_vfsops.c 2008/01/10 22:23:20 @@ -236,7 +236,7 @@ error = g_vfs_open(devvp, &cp, "hpfs", ronly ? 0 : 1); g_topology_unlock(); PICKUP_GIANT(); - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); if (error) return (error); --- //depot/vendor/freebsd/src/sys/fs/hpfs/hpfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/hpfs/hpfs_vnops.c 2008/01/10 22:23:20 @@ -1063,7 +1063,7 @@ if (VFS_VGET(hpmp->hpm_mp, dhp->h_fn.fn_parent, LK_NOWAIT | LK_EXCLUSIVE, ap->a_vpp)) { - VOP_UNLOCK(dvp,0,cnp->cn_thread); + VOP_UNLOCK(dvp,0); error = VFS_VGET(hpmp->hpm_mp, dhp->h_fn.fn_parent, LK_EXCLUSIVE, ap->a_vpp); vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY); --- //depot/vendor/freebsd/src/sys/fs/msdosfs/msdosfs_lookup.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/msdosfs/msdosfs_lookup.c 2008/01/11 15:50:54 @@ -108,7 +108,6 @@ u_char dosfilename[12]; int flags = cnp->cn_flags; int nameiop = cnp->cn_nameiop; - struct thread *td = cnp->cn_thread; int unlen; int wincnt = 1; @@ -520,7 +519,7 @@ */ pdp = vdp; if (flags & ISDOTDOT) { - VOP_UNLOCK(pdp, 0, td); + VOP_UNLOCK(pdp, 0); error = deget(pmp, cluster, blkoff, &tdp); vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY); if (error) --- //depot/vendor/freebsd/src/sys/fs/msdosfs/msdosfs_vfsops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/msdosfs/msdosfs_vfsops.c 2008/01/10 22:23:20 @@ -318,10 +318,10 @@ 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(pmp->pm_cp, 0, 1, 0); @@ -426,7 +426,7 @@ error = g_vfs_open(devvp, &cp, "msdosfs", ronly ? 0 : 1); g_topology_unlock(); PICKUP_GIANT(); - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); if (error) return (error); @@ -918,7 +918,7 @@ error = VOP_FSYNC(vp, waitfor, td); if (error) allerror = error; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); } @@ -932,7 +932,7 @@ error = VOP_FSYNC(pmp->pm_devvp, waitfor, td); if (error) allerror = error; - VOP_UNLOCK(pmp->pm_devvp, 0, td); + VOP_UNLOCK(pmp->pm_devvp, 0); } return (allerror); } --- //depot/vendor/freebsd/src/sys/fs/msdosfs/msdosfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/msdosfs/msdosfs_vnops.c 2008/01/11 15:50:54 @@ -982,7 +982,6 @@ struct vnode *tvp = ap->a_tvp; struct componentname *tcnp = ap->a_tcnp; struct componentname *fcnp = ap->a_fcnp; - struct thread *td = fcnp->cn_thread; struct denode *ip, *xp, *dp, *zp; u_char toname[11], oldname[11]; u_long from_diroffset, to_diroffset; @@ -1053,7 +1052,7 @@ (fcnp->cn_flags & ISDOTDOT) || (tcnp->cn_flags & ISDOTDOT) || (ip->de_flag & DE_RENAME)) { - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fvp, 0); error = EINVAL; goto abortit; } @@ -1084,7 +1083,7 @@ * call to doscheckpath(). */ error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred, tcnp->cn_thread); - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fvp, 0); if (VTODE(fdvp)->de_StartCluster != VTODE(tdvp)->de_StartCluster) newparent = 1; if (doingdirectory && newparent) { @@ -1153,7 +1152,7 @@ if ((fcnp->cn_flags & SAVESTART) == 0) panic("msdosfs_rename: lost from startdir"); if (!newparent) - VOP_UNLOCK(tdvp, 0, td); + VOP_UNLOCK(tdvp, 0); if (relookup(fdvp, &fvp, fcnp) == 0) vrele(fdvp); if (fvp == NULL) { @@ -1163,7 +1162,7 @@ if (doingdirectory) panic("rename: lost dir entry"); if (newparent) - VOP_UNLOCK(tdvp, 0, td); + VOP_UNLOCK(tdvp, 0); vrele(tdvp); vrele(ap->a_fvp); return 0; @@ -1183,9 +1182,9 @@ if (xp != ip) { if (doingdirectory) panic("rename: lost dir entry"); - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fvp, 0); if (newparent) - VOP_UNLOCK(fdvp, 0, td); + VOP_UNLOCK(fdvp, 0); vrele(ap->a_fvp); xp = NULL; } else { @@ -1208,8 +1207,8 @@ if (error) { bcopy(oldname, ip->de_Name, 11); if (newparent) - VOP_UNLOCK(fdvp, 0, td); - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fdvp, 0); + VOP_UNLOCK(fvp, 0); goto bad; } ip->de_refcnt++; @@ -1218,8 +1217,8 @@ if (error) { /* XXX should downgrade to ro here, fs is corrupt */ if (newparent) - VOP_UNLOCK(fdvp, 0, td); - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fdvp, 0); + VOP_UNLOCK(fvp, 0); goto bad; } if (!doingdirectory) { @@ -1228,8 +1227,8 @@ if (error) { /* XXX should downgrade to ro here, fs is corrupt */ if (newparent) - VOP_UNLOCK(fdvp, 0, td); - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fdvp, 0); + VOP_UNLOCK(fvp, 0); goto bad; } if (ip->de_dirclust == MSDOSFSROOT) @@ -1239,7 +1238,7 @@ } reinsert(ip); if (newparent) - VOP_UNLOCK(fdvp, 0, td); + VOP_UNLOCK(fdvp, 0); } /* @@ -1258,7 +1257,7 @@ if (error) { /* XXX should downgrade to ro here, fs is corrupt */ brelse(bp); - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fvp, 0); goto bad; } dotdotp = (struct direntry *)bp->b_data + 1; @@ -1269,12 +1268,12 @@ bdwrite(bp); else if ((error = bwrite(bp)) != 0) { /* XXX should downgrade to ro here, fs is corrupt */ - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fvp, 0); goto bad; } } - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fvp, 0); bad: if (xp) vput(tvp); @@ -1473,7 +1472,7 @@ * the name cache. */ cache_purge(dvp); - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); /* * Truncate the directory that is being deleted. */ --- //depot/vendor/freebsd/src/sys/fs/ntfs/ntfs_vfsops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/ntfs/ntfs_vfsops.c 2008/01/10 22:23:20 @@ -284,7 +284,7 @@ g_topology_unlock(); PICKUP_GIANT(); - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); if (error) return (error); --- //depot/vendor/freebsd/src/sys/fs/ntfs/ntfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/ntfs/ntfs_vnops.c 2008/01/10 22:23:20 @@ -657,7 +657,7 @@ if(error) return (error); - VOP_UNLOCK(dvp,0,cnp->cn_thread); + VOP_UNLOCK(dvp,0); dprintf(("ntfs_lookup: parentdir: %d\n", vap->va_a_name->n_pnumber)); error = VFS_VGET(ntmp->ntm_mountp, vap->va_a_name->n_pnumber, --- //depot/vendor/freebsd/src/sys/fs/nullfs/null_vfsops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/nullfs/null_vfsops.c 2008/01/10 22:23:20 @@ -108,7 +108,7 @@ */ if ((mp->mnt_vnodecovered->v_op == &null_vnodeops) && VOP_ISLOCKED(mp->mnt_vnodecovered, NULL)) { - VOP_UNLOCK(mp->mnt_vnodecovered, 0, td); + VOP_UNLOCK(mp->mnt_vnodecovered, 0); isvnunlocked = 1; } /* @@ -158,7 +158,7 @@ * Make sure the node alias worked */ if (error) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(lowerrootvp); free(xmp, M_NULLFSMNT); /* XXX */ return (error); @@ -175,7 +175,7 @@ /* * Unlock the node (either the lower or the alias) */ - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (NULLVPTOLOWERVP(nullm_rootvp)->v_mount->mnt_flag & MNT_LOCAL) { MNT_ILOCK(mp); --- //depot/vendor/freebsd/src/sys/fs/nullfs/null_vnops.c 2007/10/14 14:02:08 +++ //depot/user/attilio/attilio_schedlock/fs/nullfs/null_vnops.c 2008/01/11 15:50:54 @@ -296,7 +296,7 @@ *(vps_p[i]) = old_vps[i]; #if 0 if (reles & VDESC_VP0_WILLUNLOCK) - VOP_UNLOCK(*(vps_p[i]), 0, curthread); + VOP_UNLOCK(*(vps_p[i]), 0); #endif if (reles & VDESC_VP0_WILLRELE) vrele(*(vps_p[i])); @@ -513,7 +513,6 @@ { struct vnode *vp = ap->a_vp; int flags = ap->a_flags; - struct thread *td = ap->a_td; struct null_node *nn; struct vnode *lvp; int error; @@ -544,7 +543,7 @@ * here. */ vholdl(lvp); - error = VOP_LOCK(lvp, flags, td); + error = VOP_LOCK(lvp, flags); /* * We might have slept to get the lock and someone might have @@ -566,7 +565,7 @@ panic("Unsupported lock request %d\n", ap->a_flags); } - VOP_UNLOCK(lvp, 0, td); + VOP_UNLOCK(lvp, 0); error = vop_stdlock(ap); } vdrop(lvp); @@ -587,7 +586,6 @@ struct vnode *vp = ap->a_vp; int flags = ap->a_flags; int mtxlkflag = 0; - struct thread *td = ap->a_td; struct null_node *nn; struct vnode *lvp; int error; @@ -604,7 +602,7 @@ flags |= LK_INTERLOCK; vholdl(lvp); VI_UNLOCK(vp); - error = VOP_UNLOCK(lvp, flags, td); + error = VOP_UNLOCK(lvp, flags); vdrop(lvp); if (mtxlkflag == 0) VI_LOCK(vp); --- //depot/vendor/freebsd/src/sys/fs/nwfs/nwfs_vfsops.c 2007/10/16 10:57:02 +++ //depot/user/attilio/attilio_schedlock/fs/nwfs/nwfs_vfsops.c 2008/01/10 22:23:20 @@ -230,7 +230,7 @@ /* * Lose the lock but keep the ref. */ - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); NCPVODEBUG("rootvp.vrefcnt=%d\n",vrefcnt(vp)); return error; bad: --- //depot/vendor/freebsd/src/sys/fs/nwfs/nwfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/nwfs/nwfs_vnops.c 2008/01/10 22:23:20 @@ -958,7 +958,7 @@ return (0); } if (flags & ISDOTDOT) { - VOP_UNLOCK(dvp, 0, td); /* race to get the inode */ + VOP_UNLOCK(dvp, 0); /* race to get the inode */ error = nwfs_nget(mp, fid, NULL, NULL, &vp); vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); if (error) --- //depot/vendor/freebsd/src/sys/fs/procfs/procfs.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/procfs/procfs.c 2008/01/10 22:23:20 @@ -80,7 +80,7 @@ if (err) return (err); vn_fullpath(td, textvp, &fullpath, &freepath); - VOP_UNLOCK(textvp, 0, td); + VOP_UNLOCK(textvp, 0); sbuf_printf(sb, "%s", fullpath); if (freepath) free(freepath, M_TEMP); --- //depot/vendor/freebsd/src/sys/fs/pseudofs/pseudofs_vncache.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/pseudofs/pseudofs_vncache.c 2008/01/10 22:23:20 @@ -268,9 +268,9 @@ vnp = pvd->pvd_vnode; vhold(vnp); mtx_unlock(&pfs_vncache_mutex); - VOP_LOCK(vnp, LK_EXCLUSIVE, curthread); + VOP_LOCK(vnp, LK_EXCLUSIVE); vgone(vnp); - VOP_UNLOCK(vnp, 0, curthread); + VOP_UNLOCK(vnp, 0); vdrop(vnp); mtx_lock(&pfs_vncache_mutex); pvd = pfs_vncache; --- //depot/vendor/freebsd/src/sys/fs/pseudofs/pseudofs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/pseudofs/pseudofs_vnops.c 2008/01/10 22:23:20 @@ -366,7 +366,7 @@ if (cnp->cn_flags & ISDOTDOT) { if (pd->pn_type == pfstype_root) PFS_RETURN (EIO); - VOP_UNLOCK(vn, 0, cnp->cn_thread); + VOP_UNLOCK(vn, 0); KASSERT(pd->pn_parent != NULL, ("%s(): non-root directory has no parent", __func__)); /* --- //depot/vendor/freebsd/src/sys/fs/smbfs/smbfs_vfsops.c 2007/10/16 10:57:02 +++ //depot/user/attilio/attilio_schedlock/fs/smbfs/smbfs_vfsops.c 2008/01/10 22:23:20 @@ -253,7 +253,7 @@ vfs_mount_error(mp, "smbfs_root error: %d", error); goto bad; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); SMBVDEBUG("root.v_usecount = %d\n", vrefcnt(vp)); #ifdef DIAGNOSTICS --- //depot/vendor/freebsd/src/sys/fs/smbfs/smbfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/smbfs/smbfs_vnops.c 2008/01/10 22:23:20 @@ -1247,7 +1247,7 @@ return 0; } if (flags & ISDOTDOT) { - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); error = smbfs_nget(mp, dvp, name, nmlen, NULL, &vp); vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); if (error) --- //depot/vendor/freebsd/src/sys/fs/tmpfs/tmpfs_vfsops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/tmpfs/tmpfs_vfsops.c 2008/01/10 22:23:20 @@ -219,7 +219,7 @@ 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); + VOP_UNLOCK(mp->mnt_vnodecovered, 0); if (error) return (error); --- //depot/vendor/freebsd/src/sys/fs/tmpfs/tmpfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/tmpfs/tmpfs_vnops.c 2008/01/10 22:23:20 @@ -99,7 +99,7 @@ ltype = VOP_ISLOCKED(dvp, td); vhold(dvp); - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); /* Allocate a new vnode on the matching entry. */ error = tmpfs_alloc_vp(dvp->v_mount, dnode->tn_dir.tn_parent, cnp->cn_lkflags, vpp, td); @@ -1056,7 +1056,7 @@ out_locked: if (fdnode != tdnode) - VOP_UNLOCK(fdvp, 0, tcnp->cn_thread); + VOP_UNLOCK(fdvp, 0); out: /* Release target nodes. */ --- //depot/vendor/freebsd/src/sys/fs/udf/udf_vfsops.c 2007/12/11 19:52:45 +++ //depot/user/attilio/attilio_schedlock/fs/udf/udf_vfsops.c 2008/01/10 22:23:20 @@ -324,7 +324,7 @@ error = g_vfs_open(devvp, &cp, "udf", 0); g_topology_unlock(); PICKUP_GIANT(); - VOP_UNLOCK(devvp, 0, td); + VOP_UNLOCK(devvp, 0); if (error) return error; --- //depot/vendor/freebsd/src/sys/fs/udf/udf_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/udf/udf_vnops.c 2008/01/10 22:23:20 @@ -955,7 +955,7 @@ /* Did we have a match? */ if (id) { if (flags & ISDOTDOT) - VOP_UNLOCK(dvp, 0, a->a_cnp->cn_thread); + VOP_UNLOCK(dvp, 0); error = udf_vget(udfmp->im_mountp, id, LK_EXCLUSIVE, &tdp); if (flags & ISDOTDOT) vn_lock(dvp, LK_EXCLUSIVE|LK_RETRY); --- //depot/vendor/freebsd/src/sys/fs/unionfs/union_subr.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/unionfs/union_subr.c 2008/01/10 22:23:20 @@ -200,9 +200,9 @@ vp->v_data = NULL; lockmgr(vp->v_vnlock, LK_EXCLUSIVE | LK_INTERLOCK, VI_MTX(vp), td); if (lvp != NULLVP) - VOP_UNLOCK(lvp, 0, td); + VOP_UNLOCK(lvp, 0); if (uvp != NULLVP) - VOP_UNLOCK(uvp, 0, td); + VOP_UNLOCK(uvp, 0); vp->v_object = NULL; if (lvp != NULLVP) { @@ -381,7 +381,7 @@ cn->cn_flags |= (cnp->cn_flags & SAVESTART); vref(dvp); - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); if ((error = relookup(dvp, vpp, cn))) { uma_zfree(namei_zone, cn->cn_pnbuf); @@ -776,7 +776,7 @@ *vpp = vp; unionfs_vn_create_on_upper_free_out1: - VOP_UNLOCK(udvp, 0, td); + VOP_UNLOCK(udvp, 0); unionfs_vn_create_on_upper_free_out2: if (cn.cn_flags & HASBUF) { --- //depot/vendor/freebsd/src/sys/fs/unionfs/union_vfsops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/unionfs/union_vfsops.c 2008/01/10 22:23:20 @@ -200,7 +200,7 @@ uid = va.va_uid; gid = va.va_gid; } - VOP_UNLOCK(mp->mnt_vnodecovered, 0, td); + VOP_UNLOCK(mp->mnt_vnodecovered, 0); if (error) return (error); @@ -288,7 +288,7 @@ * Save reference */ if (below) { - VOP_UNLOCK(upperrootvp, 0, td); + VOP_UNLOCK(upperrootvp, 0); vn_lock(lowerrootvp, LK_EXCLUSIVE | LK_RETRY); ump->um_lowervp = upperrootvp; ump->um_uppervp = lowerrootvp; @@ -326,7 +326,7 @@ error = VOP_WHITEOUT(ump->um_uppervp, &fakecn, LOOKUP); if (error) { if (below) { - VOP_UNLOCK(ump->um_uppervp, 0, td); + VOP_UNLOCK(ump->um_uppervp, 0); vrele(upperrootvp); } else vput(ump->um_uppervp); @@ -339,7 +339,7 @@ /* * Unlock the node */ - VOP_UNLOCK(ump->um_uppervp, 0, td); + VOP_UNLOCK(ump->um_uppervp, 0); /* * Get the unionfs root vnode. --- //depot/vendor/freebsd/src/sys/fs/unionfs/union_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/fs/unionfs/union_vnops.c 2008/01/11 15:50:54 @@ -137,7 +137,7 @@ if (udvp != NULLVP) { dtmpvp = udvp; if (ldvp != NULLVP) - VOP_UNLOCK(ldvp, 0, td); + VOP_UNLOCK(ldvp, 0); } else dtmpvp = ldvp; @@ -145,7 +145,7 @@ error = VOP_LOOKUP(dtmpvp, &vp, cnp); if (dtmpvp == udvp && ldvp != NULLVP) { - VOP_UNLOCK(udvp, 0, td); + VOP_UNLOCK(udvp, 0); vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); } @@ -157,10 +157,10 @@ */ if (nameiop == DELETE || nameiop == RENAME || (cnp->cn_lkflags & LK_TYPE_MASK)) - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); *(ap->a_vpp) = dunp->un_dvp; vref(dunp->un_dvp); @@ -198,7 +198,7 @@ } if (nameiop == DELETE || nameiop == RENAME || (cnp->cn_lkflags & LK_TYPE_MASK)) - VOP_UNLOCK(uvp, 0, td); + VOP_UNLOCK(uvp, 0); } /* check whiteout */ @@ -242,7 +242,7 @@ return (lerror); } if (cnp->cn_lkflags & LK_TYPE_MASK) - VOP_UNLOCK(lvp, 0, td); + VOP_UNLOCK(lvp, 0); } } @@ -277,7 +277,7 @@ goto unionfs_lookup_out; if (LK_SHARED == (cnp->cn_lkflags & LK_TYPE_MASK)) - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (LK_EXCLUSIVE != VOP_ISLOCKED(vp, td)) { vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); lockflag = 1; @@ -285,7 +285,7 @@ error = unionfs_mkshadowdir(MOUNTTOUNIONFSMOUNT(dvp->v_mount), udvp, VTOUNIONFS(vp), cnp, td); if (lockflag != 0) - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error != 0) { UNIONFSDEBUG("unionfs_lookup: Unable to create shadow dir."); if ((cnp->cn_lkflags & LK_TYPE_MASK) == LK_EXCLUSIVE) @@ -342,7 +342,6 @@ { struct unionfs_node *dunp; struct componentname *cnp; - struct thread *td; struct vnode *udvp; struct vnode *vp; int error; @@ -351,15 +350,14 @@ dunp = VTOUNIONFS(ap->a_dvp); cnp = ap->a_cnp; - td = curthread; udvp = dunp->un_uppervp; error = EROFS; if (udvp != NULLVP) { if ((error = VOP_CREATE(udvp, &vp, cnp, ap->a_vap)) == 0) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = unionfs_nodeget(ap->a_dvp->v_mount, vp, NULLVP, - ap->a_dvp, ap->a_vpp, cnp, td); + ap->a_dvp, ap->a_vpp, cnp, curthread); vrele(vp); } } @@ -407,7 +405,6 @@ { struct unionfs_node *dunp; struct componentname *cnp; - struct thread *td; struct vnode *udvp; struct vnode *vp; int error; @@ -416,15 +413,14 @@ dunp = VTOUNIONFS(ap->a_dvp); cnp = ap->a_cnp; - td = curthread; udvp = dunp->un_uppervp; error = EROFS; if (udvp != NULLVP) { if ((error = VOP_MKNOD(udvp, &vp, cnp, ap->a_vap)) == 0) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = unionfs_nodeget(ap->a_dvp->v_mount, vp, NULLVP, - ap->a_dvp, ap->a_vpp, cnp, td); + ap->a_dvp, ap->a_vpp, cnp, curthread); vrele(vp); } } @@ -576,7 +572,7 @@ unionfs_tryrem_node_status(unp, td, unsp); if (locked != 0) - VOP_UNLOCK(ap->a_vp, 0, td); + VOP_UNLOCK(ap->a_vp, 0); UNIONFS_INTERNAL_DEBUG("unionfs_close: leave (%d)\n", error); @@ -882,7 +878,7 @@ unionfs_get_node_status(unp, ap->a_td, &unsp); ovp = (unsp->uns_upper_opencnt ? unp->un_uppervp : unp->un_lowervp); unionfs_tryrem_node_status(unp, ap->a_td, unsp); - VOP_UNLOCK(ap->a_vp, 0, ap->a_td); + VOP_UNLOCK(ap->a_vp, 0); if (ovp == NULLVP) return (EBADF); @@ -907,7 +903,7 @@ unionfs_get_node_status(unp, ap->a_td, &unsp); ovp = (unsp->uns_upper_opencnt ? unp->un_uppervp : unp->un_lowervp); unionfs_tryrem_node_status(unp, ap->a_td, unsp); - VOP_UNLOCK(ap->a_vp, 0, ap->a_td); + VOP_UNLOCK(ap->a_vp, 0); if (ovp == NULLVP) return (EBADF); @@ -1111,7 +1107,7 @@ 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); + VOP_UNLOCK(fvp, 0); if (error != 0) goto unionfs_rename_abort; break; @@ -1119,7 +1115,7 @@ 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); + VOP_UNLOCK(fvp, 0); if (error != 0) goto unionfs_rename_abort; break; @@ -1173,13 +1169,13 @@ 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); + VOP_UNLOCK(fdvp, 0); if (error != 0) goto unionfs_rename_abort; /* Locke of tvp is canceled in order to avoid recursive lock. */ if (tvp != NULLVP && tvp != tdvp) - VOP_UNLOCK(tvp, 0, td); + VOP_UNLOCK(tvp, 0); error = unionfs_relookup_for_rename(tdvp, tcnp, td); if (tvp != NULLVP && tvp != tdvp) vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY); @@ -1201,11 +1197,11 @@ if (fvp != rfvp) vrele(fvp); if (ltdvp != NULLVP) - VOP_UNLOCK(ltdvp, 0, td); + VOP_UNLOCK(ltdvp, 0); if (tdvp != rtdvp) vrele(tdvp); if (ltvp != NULLVP) - VOP_UNLOCK(ltvp, 0, td); + VOP_UNLOCK(ltvp, 0); if (tvp != rtvp && tvp != NULLVP) { if (rtvp == NULLVP) vput(tvp); @@ -1273,7 +1269,7 @@ } if ((error = VOP_MKDIR(udvp, &uvp, cnp, ap->a_vap)) == 0) { - VOP_UNLOCK(uvp, 0, td); + VOP_UNLOCK(uvp, 0); cnp->cn_lkflags = LK_EXCLUSIVE; error = unionfs_nodeget(ap->a_dvp->v_mount, uvp, NULLVP, ap->a_dvp, ap->a_vpp, cnp, td); @@ -1364,7 +1360,7 @@ if (udvp != NULLVP) { error = VOP_SYMLINK(udvp, &uvp, cnp, ap->a_vap, ap->a_target); if (error == 0) { - VOP_UNLOCK(uvp, 0, td); + VOP_UNLOCK(uvp, 0); cnp->cn_lkflags = LK_EXCLUSIVE; error = unionfs_nodeget(ap->a_dvp->v_mount, uvp, NULLVP, ap->a_dvp, ap->a_vpp, cnp, td); @@ -1661,16 +1657,14 @@ struct vnode *vp; struct vnode *uvp; struct vnode *lvp; - struct thread *td; error = 0; uhold = 0; flags = ap->a_flags; vp = ap->a_vp; - td = ap->a_td; if (LK_RELEASE == (flags & LK_TYPE_MASK) || !(flags & LK_TYPE_MASK)) - return (VOP_UNLOCK(vp, flags, td)); + return (VOP_UNLOCK(vp, flags)); if ((revlock = unionfs_get_llt_revlock(flags)) == 0) panic("unknown lock type: 0x%x", flags & LK_TYPE_MASK); @@ -1709,14 +1703,14 @@ VI_UNLOCK(vp); ap->a_flags &= ~LK_INTERLOCK; - error = VOP_LOCK(lvp, flags, td); + error = VOP_LOCK(lvp, flags); VI_LOCK(vp); unp = VTOUNIONFS(vp); if (unp == NULL) { VI_UNLOCK(vp); if (error == 0) - VOP_UNLOCK(lvp, 0, td); + VOP_UNLOCK(lvp, 0); vdrop(lvp); return (vop_stdlock(ap)); } @@ -1731,16 +1725,16 @@ VI_UNLOCK(vp); ap->a_flags &= ~LK_INTERLOCK; - error = VOP_LOCK(uvp, flags, td); + error = VOP_LOCK(uvp, flags); VI_LOCK(vp); unp = VTOUNIONFS(vp); if (unp == NULL) { VI_UNLOCK(vp); if (error == 0) { - VOP_UNLOCK(uvp, 0, td); + VOP_UNLOCK(uvp, 0); if (lvp != NULLVP) - VOP_UNLOCK(lvp, 0, td); + VOP_UNLOCK(lvp, 0); } if (lvp != NULLVP) vdrop(lvp); @@ -1751,7 +1745,7 @@ if (error != 0 && lvp != NULLVP) { VI_UNLOCK(vp); if ((revlock & LK_TYPE_MASK) == LK_RELEASE) - VOP_UNLOCK(lvp, revlock, td); + VOP_UNLOCK(lvp, revlock); else vn_lock(lvp, revlock | LK_RETRY); goto unionfs_lock_abort; @@ -1811,7 +1805,7 @@ VI_UNLOCK(vp); ap->a_flags &= ~LK_INTERLOCK; - error = VOP_UNLOCK(lvp, flags, ap->a_td); + error = VOP_UNLOCK(lvp, flags); VI_LOCK(vp); } @@ -1825,7 +1819,7 @@ VI_UNLOCK(vp); ap->a_flags &= ~LK_INTERLOCK; - error = VOP_UNLOCK(uvp, flags, ap->a_td); + error = VOP_UNLOCK(uvp, flags); VI_LOCK(vp); } @@ -1898,7 +1892,7 @@ unionfs_tryrem_node_status(unp, td, unsp); } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = VOP_ADVLOCK(uvp, ap->a_id, ap->a_op, ap->a_fl, ap->a_flags); @@ -1907,7 +1901,7 @@ return error; unionfs_advlock_abort: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); UNIONFS_INTERNAL_DEBUG("unionfs_advlock: leave (%d)\n", error); --- //depot/vendor/freebsd/src/sys/gnu/fs/ext2fs/ext2_lookup.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/ext2fs/ext2_lookup.c 2008/01/11 15:50:54 @@ -318,7 +318,6 @@ 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 @@ 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) --- //depot/vendor/freebsd/src/sys/gnu/fs/ext2fs/ext2_vfsops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/ext2fs/ext2_vfsops.c 2008/01/10 22:23:20 @@ -205,10 +205,10 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ } 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 @@ 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. --- //depot/vendor/freebsd/src/sys/gnu/fs/ext2fs/ext2_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/ext2fs/ext2_vnops.c 2008/01/11 15:50:54 @@ -767,7 +767,6 @@ 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 @@ 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 @@ 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 @@ 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 @@ * 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 @@ 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 @@ 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 @@ * 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: --- //depot/vendor/freebsd/src/sys/gnu/fs/ext2fs/fs.h 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/ext2fs/fs.h 2008/01/10 22:23:20 @@ -146,7 +146,7 @@ */ #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, --- //depot/vendor/freebsd/src/sys/gnu/fs/reiserfs/reiserfs_inode.c 2007/03/13 01:54:24 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/reiserfs/reiserfs_inode.c 2008/01/10 10:56:32 @@ -804,7 +804,7 @@ 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"); /* --- //depot/vendor/freebsd/src/sys/gnu/fs/reiserfs/reiserfs_namei.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/reiserfs/reiserfs_namei.c 2008/01/10 22:23:20 @@ -79,7 +79,7 @@ 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); --- //depot/vendor/freebsd/src/sys/gnu/fs/reiserfs/reiserfs_vfsops.c 2007/10/16 10:57:02 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/reiserfs/reiserfs_vfsops.c 2008/01/10 22:23:20 @@ -449,7 +449,7 @@ 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 @@ * 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 @@ 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); --- //depot/vendor/freebsd/src/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c 2007/08/20 15:36:51 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/xfs/FreeBSD/xfs_mountops.c 2008/01/10 10:56:32 @@ -302,7 +302,7 @@ XVFS_ROOT(MNTTOVFS(mp), &vp, error); if (error == 0) { *vpp = vp->v_vnode; - VOP_LOCK(*vpp, flags, curthread); + VOP_LOCK(*vpp, flags); } return (error); } --- //depot/vendor/freebsd/src/sys/gnu/fs/xfs/FreeBSD/xfs_super.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/xfs/FreeBSD/xfs_super.c 2008/01/10 22:23:20 @@ -105,7 +105,7 @@ * 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 @@ 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; --- //depot/vendor/freebsd/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/xfs/FreeBSD/xfs_vnode.c 2008/01/10 22:23:20 @@ -139,7 +139,7 @@ if (vp->v_holdcnt == 0) vhold(vp); vgone(vp); - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); } void xfs_ichgtime( --- //depot/vendor/freebsd/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/gnu/fs/xfs/FreeBSD/xfs_vnops.c 2008/01/10 22:23:20 @@ -751,7 +751,7 @@ 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 @@ 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 @@ 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 @@ 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 @@ } 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); --- //depot/vendor/freebsd/src/sys/i386/ibcs2/ibcs2_misc.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/i386/ibcs2/ibcs2_misc.c 2008/01/10 22:23:20 @@ -462,7 +462,7 @@ eof: td->td_retval[0] = uap->nbytes - resid; out: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); if (cookies) @@ -628,7 +628,7 @@ eof: td->td_retval[0] = uap->nbytes - resid; out: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); if (cookies) --- //depot/vendor/freebsd/src/sys/i386/ibcs2/imgact_coff.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/i386/ibcs2/imgact_coff.c 2008/01/11 15:50:54 @@ -211,7 +211,7 @@ * Lose the lock on the vnode. It's no longer needed, and must not * exist for the pagefault paging to work below. */ - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if ((error = vm_mmap(kernel_map, (vm_offset_t *) &ptr, @@ -285,7 +285,7 @@ panic("%s vm_map_remove failed", __func__); fail: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); unlocked_fail: NDFREE(&nd, NDF_ONLY_PNBUF); vrele(nd.ni_vp); @@ -307,7 +307,6 @@ unsigned long data_offset = 0, data_address = 0, data_size = 0; unsigned long bss_size = 0; caddr_t hole; - struct thread *td = curthread; if (fhdr->f_magic != I386_COFF || !(fhdr->f_flags & F_EXEC)) { @@ -335,7 +334,7 @@ ((const char*)(imgp->image_header) + sizeof(struct filehdr) + sizeof(struct aouthdr)); - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); error = exec_new_vmspace(imgp, &ibcs2_svr3_sysvec); if (error) --- //depot/vendor/freebsd/src/sys/i386/linux/imgact_linux.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/i386/linux/imgact_linux.c 2008/01/10 22:23:20 @@ -65,7 +65,6 @@ unsigned long virtual_offset, file_offset; vm_offset_t buffer; unsigned long bss_size; - struct thread *td = curthread; int error; if (((a_out->a_magic >> 16) & 0xff) != 0x64) @@ -114,7 +113,7 @@ } PROC_UNLOCK(imgp->proc); - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); /* * Destroy old process VM and create a new one (with a new stack) --- //depot/vendor/freebsd/src/sys/kern/imgact_aout.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/imgact_aout.c 2008/01/10 22:23:20 @@ -192,7 +192,7 @@ * However, in cases where the vnode lock is external, such as nullfs, * v_usecount may become zero. */ - VOP_UNLOCK(imgp->vp, 0, curthread); + VOP_UNLOCK(imgp->vp, 0); /* * Destroy old process VM and create a new one (with a new stack) --- //depot/vendor/freebsd/src/sys/kern/imgact_elf.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/imgact_elf.c 2008/01/10 22:23:20 @@ -617,7 +617,6 @@ const Elf_Note *note, *note_end; char *path; const char *note_name; - struct thread *td = curthread; struct sysentvec *sv; /* @@ -675,7 +674,7 @@ * However, in cases where the vnode lock is external, such as nullfs, * v_usecount may become zero. */ - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); error = exec_new_vmspace(imgp, sv); imgp->proc->p_sysent = sv; @@ -803,7 +802,7 @@ if (interp != NULL) { int have_interp = FALSE; - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); if (brand_info->emul_path != NULL && brand_info->emul_path[0] != '\0') { path = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); --- //depot/vendor/freebsd/src/sys/kern/imgact_gzip.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/imgact_gzip.c 2008/01/10 22:23:20 @@ -158,7 +158,6 @@ do_aout_hdr(struct imgact_gzip * gz) { int error; - struct thread *td = curthread; struct vmspace *vmspace; vm_offset_t vmaddr; @@ -234,7 +233,7 @@ * However, in cases where the vnode lock is external, such as nullfs, * v_usecount may become zero. */ - VOP_UNLOCK(gz->ip->vp, 0, td); + VOP_UNLOCK(gz->ip->vp, 0); /* * Destroy old process VM and create a new one (with a new stack) --- //depot/vendor/freebsd/src/sys/kern/kern_acct.c 2007/10/24 19:06:35 +++ //depot/user/attilio/attilio_schedlock/kern/kern_acct.c 2008/01/10 22:23:20 @@ -220,13 +220,13 @@ #ifdef MAC error = mac_system_check_acct(td->td_ucred, nd.ni_vp); if (error) { - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); vn_close(nd.ni_vp, flags, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); return (error); } #endif - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); if (nd.ni_vp->v_type != VREG) { vn_close(nd.ni_vp, flags, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/kern/kern_alq.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/kern_alq.c 2008/01/10 22:23:20 @@ -303,7 +303,7 @@ if (mac_vnode_check_write(alq->aq_cred, NOCRED, vp) == 0) #endif VOP_WRITE(vp, &auio, IO_UNIT | IO_APPEND, alq->aq_cred); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); VFS_UNLOCK_GIANT(vfslocked); @@ -363,7 +363,7 @@ vfslocked = NDHASGIANT(&nd); NDFREE(&nd, NDF_ONLY_PNBUF); /* We just unlock so we hold a reference */ - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); VFS_UNLOCK_GIANT(vfslocked); alq = malloc(sizeof(*alq), M_ALD, M_WAITOK|M_ZERO); --- //depot/vendor/freebsd/src/sys/kern/kern_descrip.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/kern_descrip.c 2008/01/10 22:23:20 @@ -1185,7 +1185,7 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_PATHCONF(vp, uap->name, td->td_retval); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); } else if (fp->f_type == DTYPE_PIPE || fp->f_type == DTYPE_SOCKET) { if (uap->name != _PC_PIPE_BUF) { --- //depot/vendor/freebsd/src/sys/kern/kern_exec.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/kern_exec.c 2008/01/10 22:23:20 @@ -491,7 +491,7 @@ } /* close files on exec */ - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); fdcloseexec(td); vn_lock(imgp->vp, LK_EXCLUSIVE | LK_RETRY); @@ -591,7 +591,7 @@ */ PROC_UNLOCK(p); setugidsafety(td); - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); error = fdcheckstd(td); vn_lock(imgp->vp, LK_EXCLUSIVE | LK_RETRY); if (error != 0) @@ -725,7 +725,7 @@ crfree(oldcred); else crfree(newcred); - VOP_UNLOCK(imgp->vp, 0, td); + VOP_UNLOCK(imgp->vp, 0); /* * Handle deferred decrement of ref counts. */ --- //depot/vendor/freebsd/src/sys/kern/kern_exit.c 2007/10/26 08:01:41 +++ //depot/user/attilio/attilio_schedlock/kern/kern_exit.c 2008/01/10 10:56:32 @@ -326,7 +326,7 @@ sp->s_ttyvp = NULL; SESS_UNLOCK(p->p_session); sx_xunlock(&proctree_lock); - VOP_LOCK(ttyvp, LK_EXCLUSIVE, td); + VOP_LOCK(ttyvp, LK_EXCLUSIVE); VOP_REVOKE(ttyvp, REVOKEALL); vput(ttyvp); sx_xlock(&proctree_lock); --- //depot/vendor/freebsd/src/sys/kern/kern_jail.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/kern_jail.c 2008/01/10 22:23:20 @@ -148,7 +148,7 @@ goto e_killmtx; vfslocked = NDHASGIANT(&nd); pr->pr_root = nd.ni_vp; - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); NDFREE(&nd, NDF_ONLY_PNBUF); VFS_UNLOCK_GIANT(vfslocked); error = copyinstr(j.hostname, &pr->pr_host, sizeof(pr->pr_host), 0); @@ -261,7 +261,7 @@ if ((error = mac_vnode_check_chroot(td->td_ucred, pr->pr_root))) goto e_unlock; #endif - VOP_UNLOCK(pr->pr_root, 0, td); + VOP_UNLOCK(pr->pr_root, 0); change_root(pr->pr_root, td); VFS_UNLOCK_GIANT(vfslocked); @@ -276,7 +276,7 @@ crfree(oldcred); return (0); e_unlock: - VOP_UNLOCK(pr->pr_root, 0, td); + VOP_UNLOCK(pr->pr_root, 0); VFS_UNLOCK_GIANT(vfslocked); mtx_lock(&pr->pr_mtx); pr->pr_ref--; --- //depot/vendor/freebsd/src/sys/kern/kern_ktrace.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/kern_ktrace.c 2008/01/10 22:23:20 @@ -604,7 +604,7 @@ vfslocked = NDHASGIANT(&nd); NDFREE(&nd, NDF_ONLY_PNBUF); vp = nd.ni_vp; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (vp->v_type != VREG) { (void) vn_close(vp, FREAD|FWRITE, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); @@ -931,7 +931,7 @@ if (error == 0) #endif error = VOP_WRITE(vp, &auio, IO_UNIT | IO_APPEND, cred); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); vrele(vp); VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/kern/kern_linker.c 2007/12/01 19:26:53 +++ //depot/user/attilio/attilio_schedlock/kern/kern_linker.c 2008/01/10 22:23:20 @@ -1632,7 +1632,7 @@ type = nd.ni_vp->v_type; if (vap) VOP_GETATTR(nd.ni_vp, vap, td->td_ucred, td); - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); vn_close(nd.ni_vp, FREAD, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); if (type == VREG) @@ -1701,7 +1701,7 @@ UIO_SYSSPACE, IO_NODELOCKED, cred, NOCRED, &reclen, td); if (error) goto bad; - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); vn_close(nd.ni_vp, FREAD, cred, td); VFS_UNLOCK_GIANT(vfslocked); nd.ni_vp = NULL; @@ -1770,7 +1770,7 @@ if (hints) free(hints, M_TEMP); if (nd.ni_vp != NULL) { - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); vn_close(nd.ni_vp, FREAD, cred, td); VFS_UNLOCK_GIANT(vfslocked); } --- //depot/vendor/freebsd/src/sys/kern/kern_sig.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/kern_sig.c 2008/01/10 22:23:20 @@ -3113,12 +3113,12 @@ /* Don't dump to non-regular files or files with links. */ if (vp->v_type != VREG || VOP_GETATTR(vp, &vattr, cred, td) || vattr.va_nlink != 1) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = EFAULT; goto close; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); lf.l_whence = SEEK_SET; lf.l_start = 0; lf.l_len = 0; @@ -3144,7 +3144,7 @@ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); VOP_LEASE(vp, td, cred, LEASE_WRITE); VOP_SETATTR(vp, &vattr, cred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); PROC_LOCK(p); p->p_acflag |= ACORE; --- //depot/vendor/freebsd/src/sys/kern/link_elf.c 2007/10/24 19:06:35 +++ //depot/user/attilio/attilio_schedlock/kern/link_elf.c 2008/01/10 22:23:20 @@ -862,7 +862,7 @@ free(shdr, M_LINKER); if (firstpage) free(firstpage, M_LINKER); - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); vn_close(nd.ni_vp, FREAD, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/kern/link_elf_obj.c 2007/10/24 19:06:35 +++ //depot/user/attilio/attilio_schedlock/kern/link_elf_obj.c 2008/01/10 22:23:20 @@ -788,7 +788,7 @@ linker_file_unload(lf, LINKER_UNLOAD_FORCE); if (hdr) free(hdr, M_LINKER); - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); vn_close(nd.ni_vp, FREAD, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/kern/tty_cons.c 2007/12/25 21:21:35 +++ //depot/user/attilio/attilio_schedlock/kern/tty_cons.c 2008/01/10 22:23:20 @@ -405,7 +405,7 @@ error = vn_open(&nd, &openflag, 0, NULL); if (error == 0) { NDFREE(&nd, NDF_ONLY_PNBUF); - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); if (nd.ni_vp->v_type == VCHR) cnd->cnd_vp = nd.ni_vp; else --- //depot/vendor/freebsd/src/sys/kern/uipc_mqueue.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/uipc_mqueue.c 2008/01/10 22:23:20 @@ -819,7 +819,7 @@ return (EIO); if ((flags & ISLASTCN) && nameiop != LOOKUP) return (EINVAL); - VOP_UNLOCK(dvp, 0, cnp->cn_thread); + VOP_UNLOCK(dvp, 0); KASSERT(pd->mn_parent, ("non-root directory has no parent")); pn = pd->mn_parent; error = mqfs_allocv(dvp->v_mount, vpp, pn); --- //depot/vendor/freebsd/src/sys/kern/uipc_syscalls.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/uipc_syscalls.c 2008/01/10 22:23:20 @@ -1794,7 +1794,7 @@ obj = NULL; } } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); if (obj == NULL) { error = EINVAL; @@ -2036,7 +2036,7 @@ trunc_page(off), UIO_NOCOPY, IO_NODELOCKED | IO_VMIO | ((MAXBSIZE / bsize) << IO_SEQSHIFT), td->td_ucred, NOCRED, &resid, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); VM_OBJECT_LOCK(obj); vm_page_io_finish(pg); --- //depot/vendor/freebsd/src/sys/kern/uipc_usrreq.c 2008/01/10 12:43:04 +++ //depot/user/attilio/attilio_schedlock/kern/uipc_usrreq.c 2008/01/10 22:32:26 @@ -474,7 +474,7 @@ unp->unp_flags &= ~UNP_BINDING; UNP_PCB_UNLOCK(unp); UNP_GLOBAL_WUNLOCK(); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); VFS_UNLOCK_GIANT(vfslocked); free(buf, M_TEMP); --- //depot/vendor/freebsd/src/sys/kern/vfs_acl.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_acl.c 2008/01/10 22:23:20 @@ -101,7 +101,7 @@ #ifdef MAC out: #endif - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); return(error); } @@ -127,7 +127,7 @@ #ifdef MAC out: #endif - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error == 0) error = copyout(&inkernelacl, aclp, sizeof(struct acl)); return (error); @@ -156,7 +156,7 @@ #ifdef MAC out: #endif - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); return (error); } --- //depot/vendor/freebsd/src/sys/kern/vfs_aio.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_aio.c 2008/01/10 22:23:20 @@ -772,7 +772,7 @@ } error = VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); drop: VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/kern/vfs_bio.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_bio.c 2008/01/11 15:50:54 @@ -2136,7 +2136,6 @@ static int flushbufqueues(int queue, int flushdeps) { - struct thread *td = curthread; struct buf sentinel; struct vnode *vp; struct mount *mp; @@ -2212,7 +2211,7 @@ bp, bp->b_vp, bp->b_flags); vfs_bio_awrite(bp); vn_finished_write(mp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); flushwithdeps += hasdeps; flushed++; waitrunningbufspace(); --- //depot/vendor/freebsd/src/sys/kern/vfs_cache.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_cache.c 2008/01/10 22:23:20 @@ -435,7 +435,7 @@ ltype = 0; /* silence gcc warning */ if (cnp->cn_flags & ISDOTDOT) { ltype = VOP_ISLOCKED(dvp, td); - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); } VI_LOCK(*vpp); CACHE_UNLOCK(); --- //depot/vendor/freebsd/src/sys/kern/vfs_default.c 2007/05/18 13:08:33 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_default.c 2008/01/10 22:44:42 @@ -263,7 +263,8 @@ { struct vnode *vp = ap->a_vp; - return (_lockmgr(vp->v_vnlock, ap->a_flags, VI_MTX(vp), ap->a_td, ap->a_file, ap->a_line)); + return (_lockmgr(vp->v_vnlock, ap->a_flags, VI_MTX(vp), curthread, + ap->a_file, ap->a_line)); } /* See above. */ @@ -278,7 +279,7 @@ struct vnode *vp = ap->a_vp; return (lockmgr(vp->v_vnlock, ap->a_flags | LK_RELEASE, VI_MTX(vp), - ap->a_td)); + curthread)); } /* See above. */ @@ -594,7 +595,7 @@ allerror = error; /* Do not turn this into vput. td is not always curthread. */ - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); } @@ -660,7 +661,7 @@ { if (filename_vp != NULL) - VOP_UNLOCK(filename_vp, 0, td); + VOP_UNLOCK(filename_vp, 0); return (EOPNOTSUPP); } --- //depot/vendor/freebsd/src/sys/kern/vfs_extattr.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_extattr.c 2008/01/10 22:23:20 @@ -192,7 +192,7 @@ td->td_retval[0] = cnt; done: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); return (error); } @@ -374,7 +374,7 @@ td->td_retval[0] = size; done: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); return (error); } @@ -526,7 +526,7 @@ #ifdef MAC done: #endif - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); return (error); } @@ -691,7 +691,7 @@ td->td_retval[0] = size; done: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); return (error); } --- //depot/vendor/freebsd/src/sys/kern/vfs_lookup.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_lookup.c 2008/01/10 22:23:20 @@ -495,7 +495,7 @@ AUDIT_ARG(vnode, dp, ARG_VNODE2); if (!(cnp->cn_flags & (LOCKPARENT | LOCKLEAF))) - VOP_UNLOCK(dp, 0, td); + VOP_UNLOCK(dp, 0); /* XXX This should probably move to the top of function. */ if (cnp->cn_flags & SAVESTART) panic("lookup: SAVESTART"); @@ -626,7 +626,7 @@ goto bad; } if ((cnp->cn_flags & LOCKPARENT) == 0) - VOP_UNLOCK(dp, 0, td); + VOP_UNLOCK(dp, 0); /* * This is a temporary assert to make sure I know what the * behavior here was. @@ -713,7 +713,7 @@ * Symlink code always expects an unlocked dvp. */ if (ndp->ni_dvp != ndp->ni_vp) - VOP_UNLOCK(ndp->ni_dvp, 0, td); + VOP_UNLOCK(ndp->ni_dvp, 0); goto success; } @@ -767,7 +767,7 @@ VFS_UNLOCK_GIANT(dvfslocked); dvfslocked = 0; } else if ((cnp->cn_flags & LOCKPARENT) == 0 && ndp->ni_dvp != dp) - VOP_UNLOCK(ndp->ni_dvp, 0, td); + VOP_UNLOCK(ndp->ni_dvp, 0); if (cnp->cn_flags & AUDITVNODE1) AUDIT_ARG(vnode, dp, ARG_VNODE1); @@ -775,7 +775,7 @@ AUDIT_ARG(vnode, dp, ARG_VNODE2); if ((cnp->cn_flags & LOCKLEAF) == 0) - VOP_UNLOCK(dp, 0, td); + VOP_UNLOCK(dp, 0); success: /* * Because of lookup_shared we may have the vnode shared locked, but @@ -813,7 +813,6 @@ int relookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp) { - struct thread *td = cnp->cn_thread; struct vnode *dp = 0; /* the directory we are searching */ int wantparent; /* 1 => wantparent or lockparent flag */ int rdonly; /* lookup read-only flag bit */ @@ -859,7 +858,7 @@ goto bad; } if (!(cnp->cn_flags & LOCKLEAF)) - VOP_UNLOCK(dp, 0, td); + VOP_UNLOCK(dp, 0); *vpp = dp; /* XXX This should probably move to the top of function. */ if (cnp->cn_flags & SAVESTART) @@ -892,7 +891,7 @@ if (cnp->cn_flags & SAVESTART) VREF(dvp); if ((cnp->cn_flags & LOCKPARENT) == 0) - VOP_UNLOCK(dp, 0, td); + VOP_UNLOCK(dp, 0); /* * This is a temporary assert to make sure I know what the * behavior here was. @@ -926,7 +925,7 @@ */ if ((cnp->cn_flags & LOCKPARENT) == 0 && dvp != dp) { if (wantparent) - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); else vput(dvp); } else if (!wantparent) @@ -942,7 +941,7 @@ VREF(dvp); if ((cnp->cn_flags & LOCKLEAF) == 0) - VOP_UNLOCK(dp, 0, td); + VOP_UNLOCK(dp, 0); return (0); bad: vput(dp); @@ -979,7 +978,7 @@ ndp->ni_vp = NULL; } if (unlock_vp) - VOP_UNLOCK(ndp->ni_vp, 0, ndp->ni_cnd.cn_thread); + VOP_UNLOCK(ndp->ni_vp, 0); if (!(flags & NDF_NO_DVP_UNLOCK) && (ndp->ni_cnd.cn_flags & LOCKPARENT) && ndp->ni_dvp != ndp->ni_vp) @@ -994,7 +993,7 @@ ndp->ni_dvp = NULL; } if (unlock_dvp) - VOP_UNLOCK(ndp->ni_dvp, 0, ndp->ni_cnd.cn_thread); + VOP_UNLOCK(ndp->ni_dvp, 0); if (!(flags & NDF_NO_STARTDIR_RELE) && (ndp->ni_cnd.cn_flags & SAVESTART)) { vrele(ndp->ni_startdir); --- //depot/vendor/freebsd/src/sys/kern/vfs_mount.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_mount.c 2008/01/10 22:23:20 @@ -939,7 +939,7 @@ mp->mnt_flag |= fsflags & (MNT_RELOAD | MNT_FORCE | MNT_UPDATE | MNT_SNAPSHOT | MNT_ROOTFS); MNT_IUNLOCK(mp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); mp->mnt_optnew = fsdata; vfs_mergeopts(mp->mnt_optnew, mp->mnt_opt); } else { @@ -983,7 +983,7 @@ * Allocate and initialize the filesystem. */ mp = vfs_mount_alloc(vp, vfsp, fspath, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); /* XXXMAC: pass to vfs_mount_alloc? */ mp->mnt_optnew = fsdata; @@ -1081,7 +1081,7 @@ panic("mount: lost mount"); mountcheckdirs(vp, newdp); vput(newdp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if ((mp->mnt_flag & MNT_RDONLY) == 0) error = vfs_allocate_syncvnode(mp); vfs_unbusy(mp, td); @@ -1212,7 +1212,7 @@ */ if (coveredvp->v_mountedhere != mp || coveredvp->v_mountedhere->mnt_gen != mnt_gen_r) { - VOP_UNLOCK(coveredvp, 0, td); + VOP_UNLOCK(coveredvp, 0); return (EBUSY); } } @@ -1223,7 +1223,7 @@ error = vfs_suser(mp, td); if (error) { if (coveredvp) - VOP_UNLOCK(coveredvp, 0, td); + VOP_UNLOCK(coveredvp, 0); return (error); } @@ -1231,7 +1231,7 @@ if (mp->mnt_kern_flag & MNTK_UNMOUNT) { MNT_IUNLOCK(mp); if (coveredvp) - VOP_UNLOCK(coveredvp, 0, td); + VOP_UNLOCK(coveredvp, 0); return (EBUSY); } mp->mnt_kern_flag |= MNTK_UNMOUNT | MNTK_NOINSMNTQ; @@ -1248,7 +1248,7 @@ wakeup(mp); MNT_IUNLOCK(mp); if (coveredvp) - VOP_UNLOCK(coveredvp, 0, td); + VOP_UNLOCK(coveredvp, 0); return (error); } vn_start_write(NULL, &mp, V_WAIT); @@ -1319,7 +1319,7 @@ wakeup(mp); MNT_IUNLOCK(mp); if (coveredvp) - VOP_UNLOCK(coveredvp, 0, td); + VOP_UNLOCK(coveredvp, 0); return (error); } mtx_lock(&mountlist_mtx); @@ -1479,7 +1479,7 @@ FILEDESC_SUNLOCK(p->p_fd); - VOP_UNLOCK(rootvnode, 0, td); + VOP_UNLOCK(rootvnode, 0); } /* @@ -1574,7 +1574,7 @@ mtx_lock(&mountlist_mtx); TAILQ_INSERT_TAIL(&mountlist, mp, mnt_list); mtx_unlock(&mountlist_mtx); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vput(dvp); vfs_unbusy(mp, td); --- //depot/vendor/freebsd/src/sys/kern/vfs_subr.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_subr.c 2008/01/11 15:50:54 @@ -610,7 +610,7 @@ } MNT_IUNLOCK(mp); vholdl(vp); - if (VOP_LOCK(vp, LK_INTERLOCK|LK_EXCLUSIVE|LK_NOWAIT, td)) { + if (VOP_LOCK(vp, LK_INTERLOCK|LK_EXCLUSIVE|LK_NOWAIT)) { vdrop(vp); goto next_iter_mntunlocked; } @@ -630,13 +630,13 @@ if (vp->v_usecount || !LIST_EMPTY(&(vp)->v_cache_src) || (vp->v_object != NULL && vp->v_object->resident_page_count > trigger)) { - VOP_UNLOCK(vp, LK_INTERLOCK, td); + VOP_UNLOCK(vp, LK_INTERLOCK); goto next_iter_mntunlocked; } KASSERT((vp->v_iflag & VI_DOOMED) == 0, ("VI_DOOMED unexpectedly detected in vlrureclaim()")); vgonel(vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vdropl(vp); done++; next_iter_mntunlocked: @@ -836,7 +836,6 @@ static int vtryrecycle(struct vnode *vp) { - struct thread *td = curthread; struct mount *vnmp; CTR1(KTR_VFS, "vtryrecycle: trying vp %p", vp); @@ -846,13 +845,13 @@ * This vnode may found and locked via some other list, if so we * can't recycle it yet. */ - if (VOP_LOCK(vp, LK_EXCLUSIVE | LK_NOWAIT, td) != 0) + if (VOP_LOCK(vp, LK_EXCLUSIVE | LK_NOWAIT) != 0) return (EWOULDBLOCK); /* * Don't recycle if its filesystem is being suspended. */ if (vn_start_write(vp, &vnmp, V_NOWAIT) != 0) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); return (EBUSY); } /* @@ -863,13 +862,13 @@ */ VI_LOCK(vp); if (vp->v_usecount) { - VOP_UNLOCK(vp, LK_INTERLOCK, td); + VOP_UNLOCK(vp, LK_INTERLOCK); vn_finished_write(vnmp); return (EBUSY); } if ((vp->v_iflag & VI_DOOMED) == 0) vgonel(vp); - VOP_UNLOCK(vp, LK_INTERLOCK, td); + VOP_UNLOCK(vp, LK_INTERLOCK); vn_finished_write(vnmp); CTR1(KTR_VFS, "vtryrecycle: recycled vp %p", vp); return (0); @@ -1664,7 +1663,7 @@ } vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); (void) VOP_FSYNC(vp, MNT_LAZY, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); VI_LOCK(vp); if (((*bo)->bo_flag & BO_ONWORKLST) != 0) { @@ -2073,7 +2072,7 @@ vinactive(vp, td); VI_UNLOCK(vp); if ((oldflags & LK_TYPE_MASK) == 0) - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); } else VI_UNLOCK(vp); return (0); @@ -2160,7 +2159,7 @@ vp->v_iflag &= ~VI_OWEINACT; if (vp->v_iflag & VI_OWEINACT) vinactive(vp, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); } else { VI_LOCK(vp); if (vp->v_usecount > 0) @@ -2191,7 +2190,7 @@ if (vp->v_usecount > 1 || ((vp->v_iflag & VI_DOINGINACT) && vp->v_usecount == 1)) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); v_decr_usecount(vp); return; } @@ -2210,7 +2209,7 @@ v_decr_useonly(vp); vp->v_iflag |= VI_OWEINACT; if (VOP_ISLOCKED(vp, NULL) != LK_EXCLUSIVE) { - error = VOP_LOCK(vp, LK_UPGRADE|LK_INTERLOCK|LK_NOWAIT, td); + error = VOP_LOCK(vp, LK_UPGRADE|LK_INTERLOCK|LK_NOWAIT); VI_LOCK(vp); if (error) { if (vp->v_usecount > 0) @@ -2222,7 +2221,7 @@ vp->v_iflag &= ~VI_OWEINACT; if (vp->v_iflag & VI_OWEINACT) vinactive(vp, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); done: vdropl(vp); } @@ -2370,7 +2369,7 @@ * Skip over a vnodes marked VV_SYSTEM. */ if ((flags & SKIPSYSTEM) && (vp->v_vflag & VV_SYSTEM)) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vdrop(vp); MNT_ILOCK(mp); continue; @@ -2387,7 +2386,7 @@ if ((vp->v_type == VNON || (error == 0 && vattr.va_nlink > 0)) && (vp->v_writecount == 0 || vp->v_type != VREG)) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vdropl(vp); MNT_ILOCK(mp); continue; @@ -2412,7 +2411,7 @@ vprint("vflush: busy vnode", vp); #endif } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vdropl(vp); MNT_ILOCK(mp); } @@ -2428,9 +2427,9 @@ ("vflush: usecount %d < rootrefs %d", rootvp->v_usecount, rootrefs)); if (busy == 1 && rootvp->v_usecount == rootrefs) { - VOP_LOCK(rootvp, LK_EXCLUSIVE|LK_INTERLOCK, td); + VOP_LOCK(rootvp, LK_EXCLUSIVE|LK_INTERLOCK); vgone(rootvp); - VOP_UNLOCK(rootvp, 0, td); + VOP_UNLOCK(rootvp, 0); busy = 0; } else VI_UNLOCK(rootvp); @@ -3877,7 +3876,7 @@ { struct vnode *vp = arg; - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); } static int --- //depot/vendor/freebsd/src/sys/kern/vfs_syscalls.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_syscalls.c 2008/01/10 22:23:20 @@ -371,7 +371,7 @@ mp = vp->v_mount; if (mp) vfs_ref(mp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); fdrop(fp, td); if (vp->v_iflag & VI_DOOMED) { error = EBADF; @@ -756,7 +756,7 @@ VFS_UNLOCK_GIANT(vfslocked); return (error); } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); FILEDESC_XLOCK(fdp); vpold = fdp->fd_cdir; @@ -807,7 +807,7 @@ NDFREE(&nd, NDF_ONLY_PNBUF); return (error); } - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); VFS_UNLOCK_GIANT(vfslocked); NDFREE(&nd, NDF_ONLY_PNBUF); FILEDESC_XLOCK(fdp); @@ -894,7 +894,7 @@ if ((error = mac_vnode_check_chroot(td->td_ucred, nd.ni_vp))) goto e_vunlock; #endif - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); error = change_root(nd.ni_vp, td); vrele(nd.ni_vp); VFS_UNLOCK_GIANT(vfslocked); @@ -1080,7 +1080,7 @@ finit(fp, flags & FMASK, DTYPE_VNODE, vp, &vnops); } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (flags & (O_EXLOCK | O_SHLOCK)) { lf.l_whence = SEEK_SET; lf.l_start = 0; @@ -1109,7 +1109,7 @@ if (error == 0) #endif error = VOP_SETATTR(vp, &vat, td->td_ucred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); if (error) goto bad; @@ -1474,7 +1474,7 @@ if (error == 0) #endif error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vput(nd.ni_dvp); } NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1769,7 +1769,7 @@ case L_XTND: vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_GETATTR(vp, &vattr, cred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error) break; if (noneg && @@ -2406,7 +2406,7 @@ if (error == 0) #endif error = VOP_SETATTR(vp, &vattr, td->td_ucred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); return (error); } @@ -2502,7 +2502,7 @@ #ifdef AUDIT vn_lock(fp->f_vnode, LK_EXCLUSIVE | LK_RETRY); AUDIT_ARG(vnode, fp->f_vnode, ARG_VNODE1); - VOP_UNLOCK(fp->f_vnode, 0, td); + VOP_UNLOCK(fp->f_vnode, 0); #endif error = setfflags(td, fp->f_vnode, uap->flags); VFS_UNLOCK_GIANT(vfslocked); @@ -2534,7 +2534,7 @@ if (error == 0) #endif error = VOP_SETATTR(vp, &vattr, td->td_ucred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); return (error); } @@ -2642,7 +2642,7 @@ #ifdef AUDIT vn_lock(fp->f_vnode, LK_EXCLUSIVE | LK_RETRY); AUDIT_ARG(vnode, fp->f_vnode, ARG_VNODE1); - VOP_UNLOCK(fp->f_vnode, 0, td); + VOP_UNLOCK(fp->f_vnode, 0); #endif error = setfmode(td, fp->f_vnode, uap->mode); VFS_UNLOCK_GIANT(vfslocked); @@ -2677,7 +2677,7 @@ if (error == 0) #endif error = VOP_SETATTR(vp, &vattr, td->td_ucred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); return (error); } @@ -2799,7 +2799,7 @@ #ifdef AUDIT vn_lock(fp->f_vnode, LK_EXCLUSIVE | LK_RETRY); AUDIT_ARG(vnode, fp->f_vnode, ARG_VNODE1); - VOP_UNLOCK(fp->f_vnode, 0, td); + VOP_UNLOCK(fp->f_vnode, 0); #endif error = setfown(td, fp->f_vnode, uap->uid, uap->gid); VFS_UNLOCK_GIANT(vfslocked); @@ -2880,7 +2880,7 @@ #endif if (error == 0) error = VOP_SETATTR(vp, &vattr, td->td_ucred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); return (error); } @@ -3012,7 +3012,7 @@ #ifdef AUDIT vn_lock(fp->f_vnode, LK_EXCLUSIVE | LK_RETRY); AUDIT_ARG(vnode, fp->f_vnode, ARG_VNODE1); - VOP_UNLOCK(fp->f_vnode, 0, td); + VOP_UNLOCK(fp->f_vnode, 0); #endif error = setutimes(td, fp->f_vnode, ts, 2, tptr == NULL); VFS_UNLOCK_GIANT(vfslocked); @@ -3174,7 +3174,7 @@ } error = VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); drop: VFS_UNLOCK_GIANT(vfslocked); @@ -3229,9 +3229,9 @@ #ifdef MAC error = mac_vnode_check_rename_from(td->td_ucred, fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd); - VOP_UNLOCK(fromnd.ni_dvp, 0, td); + VOP_UNLOCK(fromnd.ni_dvp, 0); if (fromnd.ni_dvp != fromnd.ni_vp) - VOP_UNLOCK(fromnd.ni_vp, 0, td); + VOP_UNLOCK(fromnd.ni_vp, 0); #endif fvp = fromnd.ni_vp; if (error == 0) @@ -3555,7 +3555,7 @@ #ifdef MAC error = mac_vnode_check_readdir(td->td_ucred, vp); if (error) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); return (error); @@ -3613,7 +3613,7 @@ FREE(dirbuf, M_TEMP); } if (error) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); return (error); @@ -3631,7 +3631,7 @@ VFS_UNLOCK_GIANT(vfslocked); goto unionread; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); error = copyout(&loff, uap->basep, sizeof(long)); fdrop(fp, td); @@ -3704,7 +3704,7 @@ NULL); fp->f_offset = auio.uio_offset; if (error) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); goto fail; } @@ -3721,7 +3721,7 @@ VFS_UNLOCK_GIANT(vfslocked); goto unionread; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); if (uap->basep != NULL) { error = copyout(&loff, uap->basep, sizeof(long)); @@ -4048,7 +4048,7 @@ goto bad; } if (fmode & O_TRUNC) { - VOP_UNLOCK(vp, 0, td); /* XXX */ + VOP_UNLOCK(vp, 0); /* XXX */ if ((error = vn_start_write(NULL, &mp, V_WAIT | PCATCH)) != 0) { vrele(vp); goto out; @@ -4104,7 +4104,7 @@ type = F_FLOCK; if ((fmode & FNONBLOCK) == 0) type |= F_WAIT; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if ((error = VOP_ADVLOCK(vp, (caddr_t)fp, F_SETLK, &lf, type)) != 0) { /* @@ -4124,7 +4124,7 @@ atomic_set_int(&fp->f_flag, FHASLOCK); } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); fdrop(fp, td); vfs_rel(mp); VFS_UNLOCK_GIANT(vfslocked); --- //depot/vendor/freebsd/src/sys/kern/vfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/kern/vfs_vnops.c 2008/01/10 22:23:20 @@ -421,7 +421,7 @@ if ((ioflg & IO_NODELOCKED) == 0) { if (rw == UIO_WRITE && vp->v_type != VCHR) vn_finished_write(mp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); } return (error); } @@ -546,7 +546,7 @@ mtx_unlock(mtxp); } fp->f_nextoff = uio->uio_offset; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); return (error); } @@ -600,7 +600,7 @@ if ((flags & FOF_OFFSET) == 0) fp->f_offset = uio->uio_offset; fp->f_nextoff = uio->uio_offset; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (vp->v_type != VCHR) vn_finished_write(mp); unlock: @@ -649,7 +649,7 @@ error = VOP_SETATTR(vp, &vattr, fp->f_cred, td); } out: - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); VFS_UNLOCK_GIANT(vfslocked); return (error); @@ -672,7 +672,7 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = vn_stat(vp, sb, active_cred, fp->f_cred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); return (error); @@ -807,7 +807,7 @@ if (com == FIONREAD) { vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_GETATTR(vp, &vattr, active_cred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (!error) *(int *)data = vattr.va_size - fp->f_offset; } @@ -844,7 +844,7 @@ #ifdef MAC vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = mac_vnode_check_poll(active_cred, fp->f_cred, vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (!error) #endif @@ -881,8 +881,7 @@ * lockmgr drops interlock before it will return for * any reason. So force the code above to relock it. */ - error = VOP_LOCK1(vp, flags | LK_INTERLOCK, curthread, file, - line); + error = VOP_LOCK1(vp, flags | LK_INTERLOCK, file, line); flags &= ~LK_INTERLOCK; KASSERT((flags & LK_RETRY) == 0 || error == 0, ("LK_RETRY set with incompatible flags %d\n", flags)); @@ -892,7 +891,7 @@ */ if (error == 0 && vp->v_iflag & VI_DOOMED && (flags & LK_RETRY) == 0) { - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); error = ENOENT; break; } @@ -1232,7 +1231,7 @@ td); if ((ioflg & IO_NODELOCKED) == 0) - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error == 0) { *buflen = *buflen - auio.uio_resid; @@ -1277,7 +1276,7 @@ if ((ioflg & IO_NODELOCKED) == 0) { vn_finished_write(mp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); } return (error); @@ -1306,7 +1305,7 @@ if ((ioflg & IO_NODELOCKED) == 0) { vn_finished_write(mp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); } return (error); --- //depot/vendor/freebsd/src/sys/kern/vnode_if.src 2007/05/31 11:53:40 +++ //depot/user/attilio/attilio_schedlock/kern/vnode_if.src 2008/01/10 22:23:20 @@ -368,7 +368,6 @@ vop_lock1 { IN struct vnode *vp; IN int flags; - IN struct thread *td; IN char *file; IN int line; }; @@ -380,7 +379,6 @@ vop_unlock { IN struct vnode *vp; IN int flags; - IN struct thread *td; }; --- //depot/vendor/freebsd/src/sys/nfs4client/nfs4_vfsops.c 2007/10/20 23:26:42 +++ //depot/user/attilio/attilio_schedlock/nfs4client/nfs4_vfsops.c 2008/01/10 22:23:20 @@ -764,7 +764,7 @@ error = VOP_FSYNC(vp, waitfor, td); if (error) allerror = error; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); --- //depot/vendor/freebsd/src/sys/nfs4client/nfs4_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/nfs4client/nfs4_vnops.c 2008/01/10 22:23:20 @@ -1045,7 +1045,7 @@ } if (flags & ISDOTDOT) { - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); error = nfs_nget(dvp->v_mount, fhp, fhsize, &np, LK_EXCLUSIVE); vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); @@ -1721,7 +1721,7 @@ * often. */ VOP_FSYNC(fvp, MNT_WAIT, fcnp->cn_thread); - VOP_UNLOCK(fvp, 0, fcnp->cn_thread); + VOP_UNLOCK(fvp, 0); if (tvp) VOP_FSYNC(tvp, MNT_WAIT, tcnp->cn_thread); --- //depot/vendor/freebsd/src/sys/nfsclient/nfs_subs.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/nfsclient/nfs_subs.c 2008/01/10 22:23:20 @@ -503,7 +503,7 @@ /* Downgrade from exclusive lock, this might block */ vn_lock(vp, LK_DOWNGRADE); } else { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); } } } --- //depot/vendor/freebsd/src/sys/nfsclient/nfs_vfsops.c 2007/10/27 16:31:35 +++ //depot/user/attilio/attilio_schedlock/nfsclient/nfs_vfsops.c 2008/01/10 22:23:20 @@ -947,7 +947,7 @@ /* * Lose the lock but keep the ref. */ - VOP_UNLOCK(*vpp, 0, curthread); + VOP_UNLOCK(*vpp, 0); return (0); bad: @@ -1065,7 +1065,7 @@ error = VOP_FSYNC(vp, waitfor, td); if (error) allerror = error; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); --- //depot/vendor/freebsd/src/sys/nfsclient/nfs_vnops.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/nfsclient/nfs_vnops.c 2008/01/10 22:23:20 @@ -930,7 +930,7 @@ } if (flags & ISDOTDOT) { - VOP_UNLOCK(dvp, 0, td); + VOP_UNLOCK(dvp, 0); error = nfs_nget(dvp->v_mount, fhp, fhsize, &np, cnp->cn_lkflags); vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); if (error) @@ -1622,7 +1622,7 @@ * this condition can result in potential (silent) data loss. */ error = VOP_FSYNC(fvp, MNT_WAIT, fcnp->cn_thread); - VOP_UNLOCK(fvp, 0, fcnp->cn_thread); + VOP_UNLOCK(fvp, 0); if (!error && tvp) error = VOP_FSYNC(tvp, MNT_WAIT, tcnp->cn_thread); if (error) --- //depot/vendor/freebsd/src/sys/nfsserver/nfs_serv.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/nfsserver/nfs_serv.c 2008/01/10 22:23:20 @@ -545,7 +545,7 @@ * via the original nd. Confused? You aren't alone! */ ind = nd; - VOP_UNLOCK(nd.ni_vp, 0, td); + VOP_UNLOCK(nd.ni_vp, 0); ind.ni_pathlen = strlen(nfs_pub.np_index); ind.ni_cnd.cn_nameptr = ind.ni_cnd.cn_pnbuf = nfs_pub.np_index; @@ -1482,7 +1482,7 @@ mvfslocked = 0; if (!error) { if (vn_start_write(vp, &mntp, V_NOWAIT) != 0) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = vn_start_write(NULL, &mntp, V_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); } @@ -1890,7 +1890,7 @@ vn_lock(dirp, LK_EXCLUSIVE | LK_RETRY); diraft_ret = VOP_GETATTR(dirp, &diraft, cred, td); - VOP_UNLOCK(dirp, 0, td); + VOP_UNLOCK(dirp, 0); } } ereply: @@ -2092,7 +2092,7 @@ if (dirp) { vn_lock(dirp, LK_EXCLUSIVE | LK_RETRY); diraft_ret = VOP_GETATTR(dirp, &diraft, cred, td); - VOP_UNLOCK(dirp, 0, td); + VOP_UNLOCK(dirp, 0); } ereply: nfsm_reply(NFSX_SRVFH(1) + NFSX_POSTOPATTR(1) + NFSX_WCCDATA(1)); @@ -2209,7 +2209,7 @@ vn_lock(dirp, LK_EXCLUSIVE | LK_RETRY); diraft_ret = VOP_GETATTR(dirp, &diraft, cred, td); - VOP_UNLOCK(dirp, 0, td); + VOP_UNLOCK(dirp, 0); } vrele(dirp); dirp = NULL; @@ -2420,12 +2420,12 @@ if (fdirp) { vn_lock(fdirp, LK_EXCLUSIVE | LK_RETRY); fdiraft_ret = VOP_GETATTR(fdirp, &fdiraft, cred, td); - VOP_UNLOCK(fdirp, 0, td); + VOP_UNLOCK(fdirp, 0); } if (tdirp) { vn_lock(tdirp, LK_EXCLUSIVE | LK_RETRY); tdiraft_ret = VOP_GETATTR(tdirp, &tdiraft, cred, td); - VOP_UNLOCK(tdirp, 0, td); + VOP_UNLOCK(tdirp, 0); } nfsm_srvwcc_data(fdirfor_ret, &fdirfor, fdiraft_ret, &fdiraft); nfsm_srvwcc_data(tdirfor_ret, &tdirfor, tdiraft_ret, &tdiraft); @@ -2528,7 +2528,7 @@ error = EPERM; /* POSIX */ goto out1; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); nd.ni_cnd.cn_cred = cred; nd.ni_cnd.cn_nameiop = CREATE; nd.ni_cnd.cn_flags = LOCKPARENT | MPSAFE | MPSAFE; @@ -2585,7 +2585,7 @@ vn_lock(dirp, LK_EXCLUSIVE | LK_RETRY); diraft_ret = VOP_GETATTR(dirp, &diraft, cred, td); - VOP_UNLOCK(dirp, 0, td); + VOP_UNLOCK(dirp, 0); } } ereply: @@ -2761,7 +2761,7 @@ if (dirp) { vn_lock(dirp, LK_EXCLUSIVE | LK_RETRY); diraft_ret = VOP_GETATTR(dirp, &diraft, cred, td); - VOP_UNLOCK(dirp, 0, td); + VOP_UNLOCK(dirp, 0); } if (nd.ni_startdir) { vrele(nd.ni_startdir); @@ -2923,7 +2923,7 @@ nd.ni_vp = NULL; vn_lock(dirp, LK_EXCLUSIVE | LK_RETRY); diraft_ret = VOP_GETATTR(dirp, &diraft, cred, td); - VOP_UNLOCK(dirp, 0, td); + VOP_UNLOCK(dirp, 0); } } nfsm_reply(NFSX_SRVFH(v3) + NFSX_POSTOPATTR(v3) + NFSX_WCCDATA(v3)); @@ -3060,7 +3060,7 @@ nd.ni_vp = NULL; vn_lock(dirp, LK_EXCLUSIVE | LK_RETRY); diraft_ret = VOP_GETATTR(dirp, &diraft, cred, td); - VOP_UNLOCK(dirp, 0, td); + VOP_UNLOCK(dirp, 0); } } nfsm_reply(NFSX_WCCDATA(v3)); @@ -3217,7 +3217,7 @@ error = 0; goto nfsmout; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); /* * end section. Allocate rbuf and continue @@ -3248,7 +3248,7 @@ if (!error) error = getret; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error) { vrele(vp); vp = NULL; @@ -3503,7 +3503,7 @@ error = 0; goto nfsmout; } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); MALLOC(rbuf, caddr_t, siz, M_TEMP, M_WAITOK); again: iv.iov_base = rbuf; @@ -3524,7 +3524,7 @@ error = VOP_READDIR(vp, &io, cred, &eofflag, &ncookies, &cookies); off = (u_quad_t)io.uio_offset; getret = VOP_GETATTR(vp, &at, cred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (!cookies && !error) error = NFSERR_PERM; if (!error) --- //depot/vendor/freebsd/src/sys/nfsserver/nfs_srvsubs.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/nfsserver/nfs_srvsubs.c 2008/01/11 15:50:54 @@ -690,7 +690,7 @@ vn_lock(dp, LK_EXCLUSIVE | LK_RETRY); *retdirattr_retp = VOP_GETATTR(dp, retdirattrp, ndp->ni_cnd.cn_cred, td); - VOP_UNLOCK(dp, 0, td); + VOP_UNLOCK(dp, 0); } if (pubflag) { @@ -801,7 +801,7 @@ else uma_zfree(namei_zone, cnp->cn_pnbuf); if (ndp->ni_vp && !lockleaf) - VOP_UNLOCK(ndp->ni_vp, 0, td); + VOP_UNLOCK(ndp->ni_vp, 0); break; } @@ -809,7 +809,7 @@ * Validate symlink */ if ((cnp->cn_flags & LOCKPARENT) && ndp->ni_pathlen == 1) - VOP_UNLOCK(ndp->ni_dvp, 0, td); + VOP_UNLOCK(ndp->ni_dvp, 0); if (!pubflag) { error = EINVAL; goto badlink2; @@ -1083,7 +1083,6 @@ struct ucred *cred, struct nfssvc_sock *slp, struct sockaddr *nam, int *rdonlyp, int pubflag) { - struct thread *td = curthread; /* XXX */ struct mount *mp; int i; struct ucred *credanon; @@ -1140,7 +1139,7 @@ *rdonlyp = 0; if (!lockflag) - VOP_UNLOCK(*vpp, 0, td); + VOP_UNLOCK(*vpp, 0); out: vfs_rel(mp); if (error) { --- //depot/vendor/freebsd/src/sys/security/audit/audit_arg.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/security/audit/audit_arg.c 2008/01/10 22:23:20 @@ -632,7 +632,7 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); audit_arg_vnode(vp, ARG_VNODE1); - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); break; @@ -850,7 +850,7 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); audit_arg_vnode(vp, ARG_VNODE1); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); fdrop(fp, td); } --- //depot/vendor/freebsd/src/sys/security/audit/audit_syscalls.c 2007/10/24 19:06:35 +++ //depot/user/attilio/attilio_schedlock/security/audit/audit_syscalls.c 2008/01/10 22:23:20 @@ -656,14 +656,14 @@ vp = nd.ni_vp; #ifdef MAC error = mac_system_check_auditctl(td->td_ucred, vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error) { vn_close(vp, AUDIT_CLOSE_FLAGS, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); return (error); } #else - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); #endif NDFREE(&nd, NDF_ONLY_PNBUF); if (vp->v_type != VREG) { --- //depot/vendor/freebsd/src/sys/security/audit/audit_worker.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/security/audit/audit_worker.c 2008/01/10 22:23:20 @@ -138,7 +138,7 @@ goto fail; vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = VOP_GETATTR(vp, &vattr, cred, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (error) goto fail; audit_fstat.af_currsz = vattr.va_size; @@ -251,9 +251,9 @@ */ if (audit_in_failure) { if (audit_q_len == 0 && audit_pre_q_len == 0) { - VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK, td); + VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK); (void)VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); panic("Audit store overflow; record queue drained."); } } @@ -268,9 +268,9 @@ * space, or ENOSPC returned by the vnode write call. */ if (audit_fail_stop) { - VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK, td); + VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK); (void)VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); panic("Audit log space exhausted and fail-stop set."); } (void)send_trigger(AUDIT_TRIGGER_NO_SPACE); @@ -283,9 +283,9 @@ * lost, which may require an immediate system halt. */ if (audit_panic_on_write_fail) { - VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK, td); + VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK); (void)VOP_FSYNC(vp, MNT_WAIT, td); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); panic("audit_worker: write error %d\n", error); } else if (ppsratecheck(&last_fail, &cur_fail, 1)) printf("audit_worker: write error %d\n", error); --- //depot/vendor/freebsd/src/sys/security/mac/mac_process.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/security/mac/mac_process.c 2008/01/10 22:23:20 @@ -368,7 +368,7 @@ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); result = vme->max_protection; mac_vnode_check_mmap_downgrade(cred, vp, &result); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); /* * Find out what maximum protection we may be allowing now * but a policy needs to get removed. @@ -409,7 +409,7 @@ PAGE_MASK), OBJPC_SYNC); VM_OBJECT_UNLOCK(object); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); vm_object_deallocate(object); /* --- //depot/vendor/freebsd/src/sys/security/mac/mac_syscalls.c 2008/01/10 01:16:12 +++ //depot/user/attilio/attilio_schedlock/security/mac/mac_syscalls.c 2008/01/10 22:23:20 @@ -257,7 +257,7 @@ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); mac_vnode_copy_label(vp->v_label, intlabel); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); error = mac_vnode_externalize_label(intlabel, elements, buffer, mac.m_buflen); @@ -450,7 +450,7 @@ } vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); error = vn_setlabel(vp, intlabel, td->td_ucred); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vn_finished_write(mp); VFS_UNLOCK_GIANT(vfslocked); mac_vnode_label_free(intlabel); --- //depot/vendor/freebsd/src/sys/sys/vnode.h 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/sys/vnode.h 2008/01/10 22:23:20 @@ -701,7 +701,7 @@ | (noffset > osize ? NOTE_EXTEND : 0)); \ } -#define VOP_LOCK(vp, flags, td) VOP_LOCK1(vp, flags, td, __FILE__, __LINE__) +#define VOP_LOCK(vp, flags) VOP_LOCK1(vp, flags, __FILE__, __LINE__) void vput(struct vnode *vp); --- //depot/vendor/freebsd/src/sys/ufs/ffs/ffs_rawread.c 2007/02/04 23:46:56 +++ //depot/user/attilio/attilio_schedlock/ufs/ffs/ffs_rawread.c 2008/01/10 22:23:20 @@ -118,13 +118,13 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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); --- //depot/vendor/freebsd/src/sys/ufs/ffs/ffs_snapshot.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/ufs/ffs/ffs_snapshot.c 2008/01/10 22:23:20 @@ -274,7 +274,7 @@ } 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 @@ */ 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 @@ 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 @@ 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 @@ 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 @@ * 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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: 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); } --- //depot/vendor/freebsd/src/sys/ufs/ffs/ffs_softdep.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/ufs/ffs/ffs_softdep.c 2008/01/10 22:23:20 @@ -1031,7 +1031,7 @@ *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 @@ */ 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) --- //depot/vendor/freebsd/src/sys/ufs/ffs/ffs_vfsops.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/ufs/ffs/ffs_vfsops.c 2008/01/10 22:23:20 @@ -267,10 +267,10 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ */ 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 @@ 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; --- //depot/vendor/freebsd/src/sys/ufs/ffs/ffs_vnops.c 2008/01/02 01:22:12 +++ //depot/user/attilio/attilio_schedlock/ufs/ffs/ffs_vnops.c 2008/01/10 22:40:40 @@ -370,7 +370,8 @@ 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 @@ * 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; --- //depot/vendor/freebsd/src/sys/ufs/ufs/ufs_extattr.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/ufs/ufs/ufs_extattr.c 2008/01/10 22:23:20 @@ -261,7 +261,7 @@ (size_t *) &cnp.cn_namelen); if (error) { if (lockparent == UE_GETDIR_LOCKPARENT_DONT) { - VOP_UNLOCK(start_dvp, 0, td); + VOP_UNLOCK(start_dvp, 0); } uma_zfree(namei_zone, cnp.cn_pnbuf); printf("ufs_extattr_lookup: copystr failed\n"); @@ -280,7 +280,7 @@ * if ufs_lookup() didn't. */ if (lockparent == UE_GETDIR_LOCKPARENT_DONT) - VOP_UNLOCK(start_dvp, 0, td); + VOP_UNLOCK(start_dvp, 0); /* * Check that ufs_lookup() didn't release the lock when we @@ -297,7 +297,7 @@ */ if (target_vp != start_dvp && lockparent == UE_GETDIR_LOCKPARENT_DONT) - VOP_UNLOCK(start_dvp, 0, td); + VOP_UNLOCK(start_dvp, 0); if (lockparent == UE_GETDIR_LOCKPARENT) ASSERT_VOP_LOCKED(start_dvp, "ufs_extattr_lookup"); @@ -325,7 +325,7 @@ if (error) { printf("ufs_extattr_enable_with_open.VOP_OPEN(): failed " "with %d\n", error); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); return (error); } @@ -333,7 +333,7 @@ vref(vp); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); error = ufs_extattr_enable(ump, attrnamespace, attrname, vp, td); if (error != 0) @@ -642,11 +642,11 @@ LIST_INSERT_HEAD(&ump->um_extattr.uepm_list, attribute, uele_entries); - VOP_UNLOCK(backing_vnode, 0, td); + VOP_UNLOCK(backing_vnode, 0); return (0); unlock_free_exit: - VOP_UNLOCK(backing_vnode, 0, td); + VOP_UNLOCK(backing_vnode, 0); free_exit: FREE(attribute, M_UFS_EXTATTR); @@ -674,7 +674,7 @@ vn_lock(uele->uele_backing_vnode, LK_SHARED | LK_RETRY); ASSERT_VOP_LOCKED(uele->uele_backing_vnode, "ufs_extattr_disable"); - VOP_UNLOCK(uele->uele_backing_vnode, 0, td); + VOP_UNLOCK(uele->uele_backing_vnode, 0); error = vn_close(uele->uele_backing_vnode, FREAD|FWRITE, td->td_ucred, td); @@ -702,14 +702,14 @@ error = priv_check(td, PRIV_UFS_EXTATTRCTL); if (error) { if (filename_vp != NULL) - VOP_UNLOCK(filename_vp, 0, td); + VOP_UNLOCK(filename_vp, 0); return (error); } switch(cmd) { case UFS_EXTATTR_CMD_START: if (filename_vp != NULL) { - VOP_UNLOCK(filename_vp, 0, td); + VOP_UNLOCK(filename_vp, 0); return (EINVAL); } if (attrname != NULL) @@ -721,7 +721,7 @@ case UFS_EXTATTR_CMD_STOP: if (filename_vp != NULL) { - VOP_UNLOCK(filename_vp, 0, td); + VOP_UNLOCK(filename_vp, 0); return (EINVAL); } if (attrname != NULL) @@ -736,7 +736,7 @@ if (filename_vp == NULL) return (EINVAL); if (attrname == NULL) { - VOP_UNLOCK(filename_vp, 0, td); + VOP_UNLOCK(filename_vp, 0); return (EINVAL); } @@ -754,7 +754,7 @@ case UFS_EXTATTR_CMD_DISABLE: if (filename_vp != NULL) { - VOP_UNLOCK(filename_vp, 0, td); + VOP_UNLOCK(filename_vp, 0); return (EINVAL); } if (attrname == NULL) @@ -939,7 +939,7 @@ uio->uio_offset = 0; if (attribute->uele_backing_vnode != vp) - VOP_UNLOCK(attribute->uele_backing_vnode, 0, td); + VOP_UNLOCK(attribute->uele_backing_vnode, 0); return (error); } @@ -1113,7 +1113,7 @@ uio->uio_offset = 0; if (attribute->uele_backing_vnode != vp) - VOP_UNLOCK(attribute->uele_backing_vnode, 0, td); + VOP_UNLOCK(attribute->uele_backing_vnode, 0); return (error); } @@ -1232,7 +1232,7 @@ error = ENXIO; vopunlock_exit: - VOP_UNLOCK(attribute->uele_backing_vnode, 0, td); + VOP_UNLOCK(attribute->uele_backing_vnode, 0); return (error); } --- //depot/vendor/freebsd/src/sys/ufs/ufs/ufs_lookup.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/ufs/ufs/ufs_lookup.c 2008/01/11 15:50:54 @@ -153,7 +153,6 @@ 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; bp = NULL; @@ -559,7 +558,7 @@ 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(pdp->v_mount, saved_ino, cnp->cn_lkflags, &tdp); vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY); @@ -784,7 +783,7 @@ if ((error = bwrite(bp))) return (error); if (tvp != NULL) - VOP_UNLOCK(tvp, 0, td); + VOP_UNLOCK(tvp, 0); error = VOP_FSYNC(dvp, MNT_WAIT, td); if (tvp != NULL) vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY); @@ -942,7 +941,7 @@ */ if (error == 0 && dp->i_endoff && dp->i_endoff < dp->i_size) { if (tvp != NULL) - VOP_UNLOCK(tvp, 0, td); + VOP_UNLOCK(tvp, 0); #ifdef UFS_DIRHASH if (dp->i_dirhash != NULL) ufsdirhash_dirtrunc(dp, dp->i_endoff); --- //depot/vendor/freebsd/src/sys/ufs/ufs/ufs_quota.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/ufs/ufs/ufs_quota.c 2008/01/10 22:23:20 @@ -530,7 +530,7 @@ vfslocked = NDHASGIANT(&nd); NDFREE(&nd, NDF_ONLY_PNBUF); vp = nd.ni_vp; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); if (vp->v_type != VREG) { (void) vn_close(vp, FREAD|FWRITE, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); @@ -556,7 +556,7 @@ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); vp->v_vflag |= VV_SYSTEM; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); *vpp = vp; VFS_UNLOCK_GIANT(vfslocked); /* @@ -596,13 +596,13 @@ goto again; } if (vp->v_type == VNON || vp->v_writecount == 0) { - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); continue; } error = getinoquota(VTOI(vp)); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); if (error) { @@ -677,7 +677,7 @@ dq = ip->i_dquot[type]; ip->i_dquot[type] = NODQUOT; dqrele(vp, dq); - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vrele(vp); MNT_ILOCK(mp); } @@ -695,7 +695,7 @@ vfslocked = VFS_LOCK_GIANT(qvp->v_mount); vn_lock(qvp, LK_EXCLUSIVE | LK_RETRY); qvp->v_vflag &= ~VV_SYSTEM; - VOP_UNLOCK(qvp, 0, td); + VOP_UNLOCK(qvp, 0); error = vn_close(qvp, FREAD|FWRITE, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); crfree(cr); --- //depot/vendor/freebsd/src/sys/ufs/ufs/ufs_vnops.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/ufs/ufs/ufs_vnops.c 2008/01/10 22:23:20 @@ -829,7 +829,7 @@ * while holding the snapshot vnode locked, assuming * that the directory hasn't been unlinked too. */ - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); (void) VOP_FSYNC(dvp, MNT_WAIT, td); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); } @@ -1042,13 +1042,13 @@ 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; } @@ -1059,7 +1059,7 @@ 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; } @@ -1092,7 +1092,7 @@ softdep_change_linkcnt(ip); if ((error = UFS_UPDATE(fvp, !(DOINGSOFTDEP(fvp) | DOINGASYNC(fvp)))) != 0) { - VOP_UNLOCK(fvp, 0, td); + VOP_UNLOCK(fvp, 0); goto bad; } @@ -1107,7 +1107,7 @@ * 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) { --- //depot/vendor/freebsd/src/sys/vm/swap_pager.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/vm/swap_pager.c 2008/01/10 22:23:20 @@ -2120,7 +2120,7 @@ #ifdef MAC (void) vn_lock(sp->sw_vp, LK_EXCLUSIVE | LK_RETRY); error = mac_system_check_swapoff(cred, sp->sw_vp); - (void) VOP_UNLOCK(sp->sw_vp, 0, curthread); + (void) VOP_UNLOCK(sp->sw_vp, 0); if (error != 0) return (error); #endif @@ -2467,7 +2467,7 @@ error = g_waitfor_event(swapongeom_ev, &swh, M_WAITOK, NULL); if (!error) error = swh.error; - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); return (error); } @@ -2533,7 +2533,7 @@ if (error == 0) #endif error = VOP_OPEN(vp, FREAD | FWRITE, td->td_ucred, td, NULL); - (void) VOP_UNLOCK(vp, 0, td); + (void) VOP_UNLOCK(vp, 0); if (error) return (error); --- //depot/vendor/freebsd/src/sys/vm/vm_contig.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/vm/vm_contig.c 2008/01/10 22:23:20 @@ -127,7 +127,7 @@ VM_OBJECT_LOCK(object); vm_object_page_clean(object, 0, 0, OBJPC_SYNC); VM_OBJECT_UNLOCK(object); - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); vm_object_deallocate(object); vn_finished_write(mp); --- //depot/vendor/freebsd/src/sys/vm/vm_object.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/vm/vm_object.c 2008/01/10 22:23:20 @@ -1055,7 +1055,7 @@ OFF_TO_IDX(offset + size + PAGE_MASK), flags); VM_OBJECT_UNLOCK(object); - VOP_UNLOCK(vp, 0, curthread); + VOP_UNLOCK(vp, 0); VFS_UNLOCK_GIANT(vfslocked); vn_finished_write(mp); VM_OBJECT_LOCK(object); --- //depot/vendor/freebsd/src/sys/vm/vnode_pager.c 2008/01/10 01:11:03 +++ //depot/user/attilio/attilio_schedlock/vm/vnode_pager.c 2008/01/10 22:23:20 @@ -112,7 +112,7 @@ VM_OBJECT_UNLOCK(object); return (0); } - VOP_UNLOCK(vp, 0, td); + VOP_UNLOCK(vp, 0); vm_object_set_flag(object, OBJ_DISCONNECTWNT); msleep(object, VM_OBJECT_MTX(object), PDROP | PVM, "vodead", 0); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);