Add flags argument to vfs_write_resume() and remove

vfs_write_resume_flags().

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Konstantin Belousov 2013-01-11 06:08:32 +00:00
parent 4c2f84b119
commit ddd6b3fc33
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=245286
7 changed files with 14 additions and 26 deletions

View File

@ -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);

View File

@ -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.
*/

View File

@ -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 *);

View File

@ -687,7 +687,7 @@ ffs_snapshot(mp, snapfile)
/*
* 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);

View File

@ -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);
}

View File

@ -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;

View File

@ -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);