diff --git a/sys/geom/journal/g_journal.c b/sys/geom/journal/g_journal.c index 45814304b27..a3c996c9bb0 100644 --- a/sys/geom/journal/g_journal.c +++ b/sys/geom/journal/g_journal.c @@ -2976,7 +2976,7 @@ g_journal_do_switch(struct g_class *classp) g_journal_switch_wait(sc); mtx_unlock(&sc->sc_mtx); - vfs_write_resume(mp); + vfs_write_resume(mp, 0); next: mtx_lock(&mountlist_mtx); vfs_unbusy(mp); diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index bbe837acfef..203989da0f5 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -1642,7 +1642,7 @@ vfs_write_suspend(mp) else MNT_IUNLOCK(mp); if ((error = VFS_SYNC(mp, MNT_SUSPEND)) != 0) - vfs_write_resume(mp); + vfs_write_resume(mp, 0); return (error); } @@ -1650,7 +1650,7 @@ vfs_write_suspend(mp) * Request a filesystem to resume write operations. */ void -vfs_write_resume_flags(struct mount *mp, int flags) +vfs_write_resume(struct mount *mp, int flags) { MNT_ILOCK(mp); @@ -1677,13 +1677,6 @@ vfs_write_resume_flags(struct mount *mp, int flags) } } -void -vfs_write_resume(struct mount *mp) -{ - - vfs_write_resume_flags(mp, 0); -} - /* * Implement kqueues for files by translating it to vnode operation. */ diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index f487f37e369..f841f82ecc3 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -703,8 +703,7 @@ int vn_io_fault_uiomove(char *data, int xfersize, struct uio *uio); int vfs_cache_lookup(struct vop_lookup_args *ap); void vfs_timestamp(struct timespec *); -void vfs_write_resume(struct mount *mp); -void vfs_write_resume_flags(struct mount *mp, int flags); +void vfs_write_resume(struct mount *mp, int flags); int vfs_write_suspend(struct mount *mp); int vop_stdbmap(struct vop_bmap_args *); int vop_stdfsync(struct vop_fsync_args *); diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index 5f67ae5a487..0c653c22ab6 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -687,7 +687,7 @@ out1: /* * Resume operation on filesystem. */ - vfs_write_resume_flags(vp->v_mount, VR_START_WRITE | VR_NO_SUSPCLR); + vfs_write_resume(vp->v_mount, VR_START_WRITE | VR_NO_SUSPCLR); if (collectsnapstats && starttime.tv_sec > 0) { nanotime(&endtime); timespecsub(&endtime, &starttime); diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 4ee16aba77b..16fe134fe73 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -2802,7 +2802,7 @@ journal_unsuspend(struct ufsmount *ump) jblocks->jb_suspended = 0; FREE_LOCK(&lk); mp->mnt_susp_owner = curthread; - vfs_write_resume(mp); + vfs_write_resume(mp, 0); ACQUIRE_LOCK(&lk); return (1); } diff --git a/sys/ufs/ffs/ffs_suspend.c b/sys/ufs/ffs/ffs_suspend.c index 9d8e2c1f292..3198c1a32f5 100644 --- a/sys/ufs/ffs/ffs_suspend.c +++ b/sys/ufs/ffs/ffs_suspend.c @@ -252,7 +252,7 @@ ffs_susp_dtor(void *data) */ mp->mnt_susp_owner = curthread; - vfs_write_resume(mp); + vfs_write_resume(mp, 0); vfs_unbusy(mp); ump->um_writesuspended = 0; diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 83ae2023e24..0204613a6a1 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -292,7 +292,7 @@ ffs_mount(struct mount *mp) error = ffs_flushfiles(mp, flags, td); } if (error) { - vfs_write_resume(mp); + vfs_write_resume(mp, 0); return (error); } if (fs->fs_pendingblocks != 0 || @@ -309,7 +309,7 @@ ffs_mount(struct mount *mp) if ((error = ffs_sbupdate(ump, MNT_WAIT, 0)) != 0) { fs->fs_ronly = 0; fs->fs_clean = 0; - vfs_write_resume(mp); + vfs_write_resume(mp, 0); return (error); } if (MOUNTEDSOFTDEP(mp)) @@ -330,7 +330,7 @@ ffs_mount(struct mount *mp) * Allow the writers to note that filesystem * is ro now. */ - vfs_write_resume(mp); + vfs_write_resume(mp, 0); } if ((mp->mnt_flag & MNT_RELOAD) && (error = ffs_reload(mp, td, 0)) != 0) @@ -1294,10 +1294,8 @@ ffs_unmount(mp, mntflags) goto fail; } } - if (susp) { - vfs_write_resume(mp); - vn_start_write(NULL, &mp, V_WAIT); - } + if (susp) + vfs_write_resume(mp, VR_START_WRITE); DROP_GIANT(); g_topology_lock(); if (ump->um_fsckpid > 0) { @@ -1329,10 +1327,8 @@ ffs_unmount(mp, mntflags) return (error); fail: - if (susp) { - vfs_write_resume(mp); - vn_start_write(NULL, &mp, V_WAIT); - } + if (susp) + vfs_write_resume(mp, VR_START_WRITE); #ifdef UFS_EXTATTR if (e_restart) { ufs_extattr_uepm_init(&ump->um_extattr);