Index: share/man/man9/VOP_FSYNC.9 =================================================================== --- share/man/man9/VOP_FSYNC.9 (revision 199967) +++ share/man/man9/VOP_FSYNC.9 (working copy) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 24, 1996 +.Dd November 30, 2009 .Os .Dt VOP_FSYNC 9 .Sh NAME @@ -38,7 +38,7 @@ .In sys/param.h .In sys/vnode.h .Ft int -.Fn VOP_FSYNC "struct vnode *vp" "int waitfor" "struct thread *td" +.Fn VOP_FSYNC "struct vnode *vp" "int waitfor" .Sh DESCRIPTION This call flushes any dirty file system buffers for the file. It is used to implement the @@ -62,9 +62,6 @@ Start all I/O, but do not wait for it. .It Dv MNT_LAZY Push data not written by file system syncer. .El -.It Fa td -The calling thread. -.El .Pp The argument .Fa waitfor Index: sys/nfsclient/nfs_vnops.c =================================================================== --- sys/nfsclient/nfs_vnops.c (revision 199967) +++ sys/nfsclient/nfs_vnops.c (working copy) @@ -1821,10 +1821,10 @@ nfs_rename(struct vop_rename_args *ap) * that was written back to our cache earlier. Not checking for * this condition can result in potential (silent) data loss. */ - error = VOP_FSYNC(fvp, MNT_WAIT, fcnp->cn_thread); + error = VOP_FSYNC(fvp, MNT_WAIT); VOP_UNLOCK(fvp, 0); if (!error && tvp) - error = VOP_FSYNC(tvp, MNT_WAIT, tcnp->cn_thread); + error = VOP_FSYNC(tvp, MNT_WAIT); if (error) goto out; @@ -1948,7 +1948,7 @@ nfs_link(struct vop_link_args *ap) * doesn't get "out of sync" with the server. * XXX There should be a better way! */ - VOP_FSYNC(vp, MNT_WAIT, cnp->cn_thread); + VOP_FSYNC(vp, MNT_WAIT); v3 = NFS_ISV3(vp); nfsstats.rpccnt[NFSPROC_LINK]++; Index: sys/nfsclient/nfs_vfsops.c =================================================================== --- sys/nfsclient/nfs_vfsops.c (revision 199967) +++ sys/nfsclient/nfs_vfsops.c (working copy) @@ -1387,7 +1387,7 @@ loop: MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); goto loop; } - error = VOP_FSYNC(vp, waitfor, td); + error = VOP_FSYNC(vp, waitfor); if (error) allerror = error; VOP_UNLOCK(vp, 0); Index: sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c =================================================================== --- sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c (revision 199967) +++ sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c (working copy) @@ -1036,7 +1036,6 @@ _xfs_fsync( struct vop_fsync_args /* { struct vnode * a_vp; int a_waitfor; - struct thread * a_td; } */ *ap) { xfs_vnode_t *vp = VPTOXFSVP(ap->a_vp); @@ -1045,7 +1044,7 @@ _xfs_fsync( if (ap->a_waitfor == MNT_WAIT) flags |= FSYNC_WAIT; - XVOP_FSYNC(vp, flags, ap->a_td->td_ucred, (xfs_off_t)0, (xfs_off_t)-1, error); + XVOP_FSYNC(vp, flags, curthread->td_ucred, (xfs_off_t)0, (xfs_off_t)-1, error); return (error); } Index: sys/gnu/fs/ext2fs/ext2_vnops.c =================================================================== --- sys/gnu/fs/ext2fs/ext2_vnops.c (revision 199967) +++ sys/gnu/fs/ext2fs/ext2_vnops.c (working copy) @@ -604,7 +604,6 @@ ext2_fsync(ap) struct vnode *a_vp; struct ucred *a_cred; int a_waitfor; - struct thread *a_td; } */ *ap; { /* Index: sys/gnu/fs/ext2fs/ext2_vfsops.c =================================================================== --- sys/gnu/fs/ext2fs/ext2_vfsops.c (revision 199967) +++ sys/gnu/fs/ext2fs/ext2_vfsops.c (working copy) @@ -883,7 +883,7 @@ loop: } continue; } - if ((error = VOP_FSYNC(vp, waitfor, td)) != 0) + if ((error = VOP_FSYNC(vp, waitfor)) != 0) allerror = error; VOP_UNLOCK(vp, 0); vrele(vp); @@ -896,7 +896,7 @@ loop: */ if (waitfor != MNT_LAZY) { vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY); - if ((error = VOP_FSYNC(ump->um_devvp, waitfor, td)) != 0) + if ((error = VOP_FSYNC(ump->um_devvp, waitfor)) != 0) allerror = error; VOP_UNLOCK(ump->um_devvp, 0); } Index: sys/ufs/ufs/ufs_vnops.c =================================================================== --- sys/ufs/ufs/ufs_vnops.c (revision 199967) +++ sys/ufs/ufs/ufs_vnops.c (working copy) @@ -869,7 +869,7 @@ ufs_remove(ap) * that the directory hasn't been unlinked too. */ VOP_UNLOCK(vp, 0); - (void) VOP_FSYNC(dvp, MNT_WAIT, td); + (void) VOP_FSYNC(dvp, MNT_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); } out: Index: sys/ufs/ufs/ufs_lookup.c =================================================================== --- sys/ufs/ufs/ufs_lookup.c (revision 199967) +++ sys/ufs/ufs/ufs_lookup.c (working copy) @@ -838,7 +838,7 @@ ufs_direnter(dvp, tvp, dirp, cnp, newdirbp) return (error); if (tvp != NULL) VOP_UNLOCK(tvp, 0); - error = VOP_FSYNC(dvp, MNT_WAIT, td); + error = VOP_FSYNC(dvp, MNT_WAIT); if (tvp != NULL) vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY); return (error); Index: sys/ufs/ffs/ffs_vfsops.c =================================================================== --- sys/ufs/ffs/ffs_vfsops.c (revision 199967) +++ sys/ufs/ffs/ffs_vfsops.c (working copy) @@ -1192,7 +1192,7 @@ ffs_flushfiles(mp, flags, td) * Flush filesystem metadata. */ vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY); - error = VOP_FSYNC(ump->um_devvp, MNT_WAIT, td); + error = VOP_FSYNC(ump->um_devvp, MNT_WAIT); VOP_UNLOCK(ump->um_devvp, 0); return (error); } @@ -1343,7 +1343,7 @@ loop: (bo->bo_numoutput > 0 || bo->bo_dirty.bv_cnt > 0)) { BO_UNLOCK(bo); vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); - if ((error = VOP_FSYNC(devvp, waitfor, td)) != 0) + if ((error = VOP_FSYNC(devvp, waitfor)) != 0) allerror = error; VOP_UNLOCK(devvp, 0); if (allerror == 0 && waitfor == MNT_WAIT) { Index: sys/ufs/ffs/ffs_softdep.c =================================================================== --- sys/ufs/ffs/ffs_softdep.c (revision 199967) +++ sys/ufs/ffs/ffs_softdep.c (working copy) @@ -1029,7 +1029,7 @@ softdep_flushworklist(oldmnt, countp, td) while ((count = softdep_process_worklist(oldmnt, 1)) > 0) { *countp += count; vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY); - error = VOP_FSYNC(devvp, MNT_WAIT, td); + error = VOP_FSYNC(devvp, MNT_WAIT); VOP_UNLOCK(devvp, 0); if (error) break; Index: sys/ufs/ffs/ffs_snapshot.c =================================================================== --- sys/ufs/ffs/ffs_snapshot.c (revision 199967) +++ sys/ufs/ffs/ffs_snapshot.c (working copy) @@ -2102,7 +2102,7 @@ ffs_bdflush(bo, bp) bdwriteskip++; VI_UNLOCK(devvp); if (bo->bo_dirty.bv_cnt > dirtybufthresh + 10 && !bp_bdskip) { - (void) VOP_FSYNC(vp, MNT_NOWAIT, td); + (void) VOP_FSYNC(vp, MNT_NOWAIT); altbufferflushes++; } else { BO_LOCK(bo); Index: sys/kern/vfs_syscalls.c =================================================================== --- sys/kern/vfs_syscalls.c (revision 199967) +++ sys/kern/vfs_syscalls.c (working copy) @@ -3512,7 +3512,7 @@ fsync(td, uap) vm_object_page_clean(vp->v_object, 0, 0, 0); VM_OBJECT_UNLOCK(vp->v_object); } - error = VOP_FSYNC(vp, MNT_WAIT, td); + error = VOP_FSYNC(vp, MNT_WAIT); VOP_UNLOCK(vp, 0); vn_finished_write(mp); Index: sys/kern/vfs_bio.c =================================================================== --- sys/kern/vfs_bio.c (revision 199967) +++ sys/kern/vfs_bio.c (working copy) @@ -912,7 +912,7 @@ bufbdflush(struct bufobj *bo, struct buf *bp) struct buf *nbp; if (bo->bo_dirty.bv_cnt > dirtybufthresh + 10) { - (void) VOP_FSYNC(bp->b_vp, MNT_NOWAIT, curthread); + (void) VOP_FSYNC(bp->b_vp, MNT_NOWAIT); altbufferflushes++; } else if (bo->bo_dirty.bv_cnt > dirtybufthresh) { BO_LOCK(bo); @@ -3910,7 +3910,7 @@ int bufsync(struct bufobj *bo, int waitfor) { - return (VOP_FSYNC(bo->__bo_vnode, waitfor, curthread)); + return (VOP_FSYNC(bo->__bo_vnode, waitfor)); } void Index: sys/kern/vfs_default.c =================================================================== --- sys/kern/vfs_default.c (revision 199967) +++ sys/kern/vfs_default.c (working copy) @@ -580,9 +580,7 @@ int vop_stdfsync(ap) struct vop_fsync_args /* { struct vnode *a_vp; - struct ucred *a_cred; int a_waitfor; - struct thread *a_td; } */ *ap; { struct vnode *vp = ap->a_vp; @@ -891,7 +889,7 @@ loop: } continue; } - error = VOP_FSYNC(vp, waitfor, td); + error = VOP_FSYNC(vp, waitfor); if (error) allerror = error; Index: sys/kern/vfs_aio.c =================================================================== --- sys/kern/vfs_aio.c (revision 199967) +++ sys/kern/vfs_aio.c (working copy) @@ -797,7 +797,7 @@ aio_fsync_vnode(struct thread *td, struct vnode *v vm_object_page_clean(vp->v_object, 0, 0, 0); VM_OBJECT_UNLOCK(vp->v_object); } - error = VOP_FSYNC(vp, MNT_WAIT, td); + error = VOP_FSYNC(vp, MNT_WAIT); VOP_UNLOCK(vp, 0); vn_finished_write(mp); Index: sys/kern/vnode_if.src =================================================================== --- sys/kern/vnode_if.src (revision 199967) +++ sys/kern/vnode_if.src (working copy) @@ -252,7 +252,6 @@ vop_revoke { vop_fsync { IN struct vnode *vp; IN int waitfor; - IN struct thread *td; }; Index: sys/kern/vfs_subr.c =================================================================== --- sys/kern/vfs_subr.c (revision 199967) +++ sys/kern/vfs_subr.c (working copy) @@ -1691,7 +1691,7 @@ sync_vnode(struct synclist *slp, struct bufobj **b return (*bo == LIST_FIRST(slp)); } vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - (void) VOP_FSYNC(vp, MNT_LAZY, td); + (void) VOP_FSYNC(vp, MNT_LAZY); VOP_UNLOCK(vp, 0); vn_finished_write(mp); BO_LOCK(*bo); Index: sys/fs/unionfs/union_vnops.c =================================================================== --- sys/fs/unionfs/union_vnops.c (revision 199967) +++ sys/fs/unionfs/union_vnops.c (working copy) @@ -959,14 +959,14 @@ unionfs_fsync(struct vop_fsync_args *ap) KASSERT_UNIONFS_VNODE(ap->a_vp); unp = VTOUNIONFS(ap->a_vp); - unionfs_get_node_status(unp, ap->a_td, &unsp); + unionfs_get_node_status(unp, curthread, &unsp); ovp = (unsp->uns_upper_opencnt ? unp->un_uppervp : unp->un_lowervp); unionfs_tryrem_node_status(unp, unsp); if (ovp == NULLVP) return (EBADF); - return (VOP_FSYNC(ovp, ap->a_waitfor, ap->a_td)); + return (VOP_FSYNC(ovp, ap->a_waitfor)); } static int Index: sys/fs/nfsclient/nfs_clvfsops.c =================================================================== --- sys/fs/nfsclient/nfs_clvfsops.c (revision 199967) +++ sys/fs/nfsclient/nfs_clvfsops.c (working copy) @@ -1356,7 +1356,7 @@ loop: MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); goto loop; } - error = VOP_FSYNC(vp, waitfor, td); + error = VOP_FSYNC(vp, waitfor); if (error) allerror = error; VOP_UNLOCK(vp, 0); Index: sys/fs/nfsclient/nfs_clvnops.c =================================================================== --- sys/fs/nfsclient/nfs_clvnops.c (revision 199967) +++ sys/fs/nfsclient/nfs_clvnops.c (working copy) @@ -1660,10 +1660,10 @@ nfs_rename(struct vop_rename_args *ap) * that was written back to our cache earlier. Not checking for * this condition can result in potential (silent) data loss. */ - error = VOP_FSYNC(fvp, MNT_WAIT, fcnp->cn_thread); + error = VOP_FSYNC(fvp, MNT_WAIT); VOP_UNLOCK(fvp, 0); if (!error && tvp) - error = VOP_FSYNC(tvp, MNT_WAIT, tcnp->cn_thread); + error = VOP_FSYNC(tvp, MNT_WAIT); if (error) goto out; @@ -1817,7 +1817,7 @@ nfs_link(struct vop_link_args *ap) * doesn't get "out of sync" with the server. * XXX There should be a better way! */ - VOP_FSYNC(vp, MNT_WAIT, cnp->cn_thread); + VOP_FSYNC(vp, MNT_WAIT); error = nfsrpc_link(tdvp, vp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_cred, cnp->cn_thread, &dnfsva, &nfsva, &attrflag, @@ -2435,7 +2435,7 @@ nfs_strategy(struct vop_strategy_args *ap) static int nfs_fsync(struct vop_fsync_args *ap) { - return (ncl_flush(ap->a_vp, ap->a_waitfor, NULL, ap->a_td, 1)); + return (ncl_flush(ap->a_vp, ap->a_waitfor, NULL, curthread, 1)); } /* Index: sys/fs/hpfs/hpfs_vnops.c =================================================================== --- sys/fs/hpfs/hpfs_vnops.c (revision 199967) +++ sys/fs/hpfs/hpfs_vnops.c (working copy) @@ -86,7 +86,6 @@ hpfs_fsync(ap) struct vnode *a_vp; struct ucred *a_cred; int a_waitfor; - struct thread *a_td; } */ *ap; { /* Index: sys/fs/coda/coda_vnops.c =================================================================== --- sys/fs/coda/coda_vnops.c (revision 199967) +++ sys/fs/coda/coda_vnops.c (working copy) @@ -724,7 +724,6 @@ coda_fsync(struct vop_fsync_args *ap) /* true args */ struct vnode *vp = ap->a_vp; struct cnode *cp = VTOC(vp); - struct thread *td = ap->a_td; /* locals */ struct vnode *convp = cp->c_ovp; int error; @@ -753,7 +752,7 @@ coda_fsync(struct vop_fsync_args *ap) } if (convp != NULL) { vn_lock(convp, LK_EXCLUSIVE | LK_RETRY); - VOP_FSYNC(convp, MNT_WAIT, td); + VOP_FSYNC(convp, MNT_WAIT); VOP_UNLOCK(convp, 0); } @@ -783,7 +782,7 @@ coda_fsync(struct vop_fsync_args *ap) /* XXX: needs research */ return (0); - error = venus_fsync(vtomi(vp), &cp->c_fid, td->td_proc); + error = venus_fsync(vtomi(vp), &cp->c_fid, curproc); CODADEBUG(CODA_FSYNC, myprintf(("in fsync result %d\n", error));); return (error); } Index: sys/fs/smbfs/smbfs_vnops.c =================================================================== --- sys/fs/smbfs/smbfs_vnops.c (revision 199967) +++ sys/fs/smbfs/smbfs_vnops.c (working copy) @@ -787,7 +787,6 @@ smbfs_fsync(ap) struct vnode * a_vp; struct ucred * a_cred; int a_waitfor; - struct thread * a_td; } */ *ap; { /* return (smb_flush(ap->a_vp, ap->a_cred, ap->a_waitfor, ap->a_td, 1));*/ Index: sys/fs/ntfs/ntfs_vnops.c =================================================================== --- sys/fs/ntfs/ntfs_vnops.c (revision 199967) +++ sys/fs/ntfs/ntfs_vnops.c (working copy) @@ -689,7 +689,6 @@ ntfs_fsync(ap) struct vnode *a_vp; struct ucred *a_cred; int a_waitfor; - struct thread *a_td; } */ *ap; { return (0); Index: sys/fs/nwfs/nwfs_vnops.c =================================================================== --- sys/fs/nwfs/nwfs_vnops.c (revision 199967) +++ sys/fs/nwfs/nwfs_vnops.c (working copy) @@ -728,7 +728,6 @@ nwfs_fsync(ap) struct vnode * a_vp; struct ucred * a_cred; int a_waitfor; - struct thread *a_td; } */ *ap; { /* return (nfs_flush(ap->a_vp, ap->a_cred, ap->a_waitfor, ap->a_td, 1));*/ Index: sys/fs/nfsserver/nfs_nfsdport.c =================================================================== --- sys/fs/nfsserver/nfs_nfsdport.c (revision 199967) +++ sys/fs/nfsserver/nfs_nfsdport.c (working copy) @@ -1194,7 +1194,7 @@ nfsvno_fsync(struct vnode *vp, u_int64_t off, int vm_object_page_clean(vp->v_object, 0, 0, OBJPC_SYNC); VM_OBJECT_UNLOCK(vp->v_object); } - error = VOP_FSYNC(vp, MNT_WAIT, td); + error = VOP_FSYNC(vp, MNT_WAIT); } else { /* * Locate and synchronously write any buffers that fall Index: sys/fs/msdosfs/msdosfs_vfsops.c =================================================================== --- sys/fs/msdosfs/msdosfs_vfsops.c (revision 199967) +++ sys/fs/msdosfs/msdosfs_vfsops.c (working copy) @@ -928,7 +928,7 @@ loop: goto loop; continue; } - error = VOP_FSYNC(vp, waitfor, td); + error = VOP_FSYNC(vp, waitfor); if (error) allerror = error; VOP_UNLOCK(vp, 0); @@ -942,7 +942,7 @@ loop: */ if (waitfor != MNT_LAZY) { vn_lock(pmp->pm_devvp, LK_EXCLUSIVE | LK_RETRY); - error = VOP_FSYNC(pmp->pm_devvp, waitfor, td); + error = VOP_FSYNC(pmp->pm_devvp, waitfor); if (error) allerror = error; VOP_UNLOCK(pmp->pm_devvp, 0); Index: sys/fs/msdosfs/msdosfs_vnops.c =================================================================== --- sys/fs/msdosfs/msdosfs_vnops.c (revision 199967) +++ sys/fs/msdosfs/msdosfs_vnops.c (working copy) @@ -872,7 +872,6 @@ msdosfs_fsync(ap) struct vnode *a_vp; struct ucred *a_cred; int a_waitfor; - struct thread *a_td; } */ *ap; { Index: sys/nfsserver/nfs_serv.c =================================================================== --- sys/nfsserver/nfs_serv.c (revision 199967) +++ sys/nfsserver/nfs_serv.c (working copy) @@ -3430,7 +3430,7 @@ nfsrv_commit(struct nfsrv_descript *nfsd, struct n vm_object_page_clean(vp->v_object, 0, 0, OBJPC_SYNC); VM_OBJECT_UNLOCK(vp->v_object); } - error = VOP_FSYNC(vp, MNT_WAIT, curthread); + error = VOP_FSYNC(vp, MNT_WAIT); } else { /* * Locate and synchronously write any buffers that fall Index: sys/dev/md/md.c =================================================================== --- sys/dev/md/md.c (revision 199967) +++ sys/dev/md/md.c (working copy) @@ -537,7 +537,7 @@ mdstart_vnode(struct md_s *sc, struct bio *bp) vfslocked = VFS_LOCK_GIANT(vp->v_mount); (void) vn_start_write(vp, &mp, V_WAIT); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); - error = VOP_FSYNC(vp, MNT_WAIT, td); + error = VOP_FSYNC(vp, MNT_WAIT); VOP_UNLOCK(vp, 0); vn_finished_write(mp); VFS_UNLOCK_GIANT(vfslocked); Index: sys/vm/vm_object.c =================================================================== --- sys/vm/vm_object.c (revision 199967) +++ sys/vm/vm_object.c (working copy) @@ -940,7 +940,7 @@ again: } vm_page_unlock_queues(); #if 0 - VOP_FSYNC(vp, (pagerflags & VM_PAGER_PUT_SYNC)?MNT_WAIT:0, curproc); + VOP_FSYNC(vp, (pagerflags & VM_PAGER_PUT_SYNC)?MNT_WAIT:0); #endif vm_object_clear_flag(object, OBJ_CLEANING); Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c =================================================================== --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c (revision 199967) +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c (working copy) @@ -132,8 +132,7 @@ vdev_file_io_start(zio_t *zio) switch (zio->io_cmd) { case DKIOCFLUSHWRITECACHE: - zio->io_error = VOP_FSYNC(vp, FSYNC | FDSYNC, - kcred, NULL); + zio->io_error = VOP_FSYNC(vp, FSYNC | FDSYNC, kcred); break; default: zio->io_error = ENOTSUP; Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c =================================================================== --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (revision 199967) +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c (working copy) @@ -2294,7 +2294,7 @@ update: ulong_t zfs_fsync_sync_cnt = 4; static int -zfs_fsync(vnode_t *vp, int syncflag, cred_t *cr, caller_context_t *ct) +zfs_fsync(vnode_t *vp, int syncflag, caller_context_t *ct) { znode_t *zp = VTOZ(vp); zfsvfs_t *zfsvfs = zp->z_zfsvfs; @@ -4128,12 +4128,11 @@ zfs_freebsd_fsync(ap) struct vop_fsync_args /* { struct vnode *a_vp; int a_waitfor; - struct thread *a_td; } */ *ap; { vop_stdfsync(ap); - return (zfs_fsync(ap->a_vp, 0, ap->a_td->td_ucred, NULL)); + return (zfs_fsync(ap->a_vp, 0, NULL)); } static int Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c =================================================================== --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c (revision 199967) +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c (working copy) @@ -188,7 +188,7 @@ spa_config_write(spa_config_dirent_t *dp, nvlist_t if (vn_open(temp, UIO_SYSSPACE, oflags, 0644, &vp, CRCREAT, 0) == 0) { if (vn_rdwr(UIO_WRITE, vp, buf, buflen, 0, UIO_SYSSPACE, 0, RLIM64_INFINITY, kcred, NULL) == 0 && - VOP_FSYNC(vp, FSYNC, kcred, NULL) == 0) { + VOP_FSYNC(vp, FSYNC, kcred) == 0) { (void) vn_rename(temp, dp->scd_path, UIO_SYSSPACE); } (void) VOP_CLOSE(vp, oflags, 1, 0, kcred, NULL); Index: sys/cddl/compat/opensolaris/sys/vnode.h =================================================================== --- sys/cddl/compat/opensolaris/sys/vnode.h (revision 199967) +++ sys/cddl/compat/opensolaris/sys/vnode.h (working copy) @@ -244,14 +244,14 @@ zfs_vop_fsync(vnode_t *vp, int flag, cred_t *cr) 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, curthread); + error = VOP_FSYNC(vp, MNT_WAIT); VOP_UNLOCK(vp, 0); vn_finished_write(mp); drop: VFS_UNLOCK_GIANT(vfslocked); return (error); } -#define VOP_FSYNC(vp, flag, cr, ct) zfs_vop_fsync((vp), (flag), (cr)) +#define VOP_FSYNC(vp, flag, cr) zfs_vop_fsync((vp), (flag), (cr)) static __inline int zfs_vop_close(vnode_t *vp, int flag, int count, offset_t offset, cred_t *cr) Index: sys/security/audit/audit_worker.c =================================================================== --- sys/security/audit/audit_worker.c (revision 199967) +++ sys/security/audit/audit_worker.c (working copy) @@ -252,7 +252,7 @@ audit_record_write(struct vnode *vp, struct ucred if (audit_in_failure) { if (audit_q_len == 0 && audit_pre_q_len == 0) { VOP_LOCK(vp, LK_EXCLUSIVE | LK_RETRY); - (void)VOP_FSYNC(vp, MNT_WAIT, curthread); + (void)VOP_FSYNC(vp, MNT_WAIT); VOP_UNLOCK(vp, 0); panic("Audit store overflow; record queue drained."); } @@ -269,7 +269,7 @@ fail_enospc: */ if (audit_fail_stop) { VOP_LOCK(vp, LK_EXCLUSIVE | LK_RETRY); - (void)VOP_FSYNC(vp, MNT_WAIT, curthread); + (void)VOP_FSYNC(vp, MNT_WAIT); VOP_UNLOCK(vp, 0); panic("Audit log space exhausted and fail-stop set."); } @@ -284,7 +284,7 @@ fail: */ if (audit_panic_on_write_fail) { VOP_LOCK(vp, LK_EXCLUSIVE | LK_RETRY); - (void)VOP_FSYNC(vp, MNT_WAIT, curthread); + (void)VOP_FSYNC(vp, MNT_WAIT); VOP_UNLOCK(vp, 0); panic("audit_worker: write error %d\n", error); } else if (ppsratecheck(&last_fail, &cur_fail, 1))