svn commit: r223018 - head/sys/ufs/ffs
Kirk McKusick
mckusick at FreeBSD.org
Sun Jun 12 18:46:48 UTC 2011
Author: mckusick
Date: Sun Jun 12 18:46:48 2011
New Revision: 223018
URL: http://svn.freebsd.org/changeset/base/223018
Log:
Disable the soft updates journaling after a filesystem is successfully
downgraded to read-only. It will be restarted if the filesystem is
upgraded back to read-write.
Modified:
head/sys/ufs/ffs/ffs_softdep.c
head/sys/ufs/ffs/ffs_vfsops.c
Modified: head/sys/ufs/ffs/ffs_softdep.c
==============================================================================
--- head/sys/ufs/ffs/ffs_softdep.c Sun Jun 12 18:01:31 2011 (r223017)
+++ head/sys/ufs/ffs/ffs_softdep.c Sun Jun 12 18:46:48 2011 (r223018)
@@ -2386,8 +2386,15 @@ softdep_unmount(mp)
struct mount *mp;
{
- if (mp->mnt_kern_flag & MNTK_SUJ)
- journal_unmount(mp);
+ MNT_ILOCK(mp);
+ mp->mnt_flag &= ~MNT_SOFTDEP;
+ if ((mp->mnt_kern_flag & MNTK_SUJ) == 0) {
+ MNT_IUNLOCK(mp);
+ return;
+ }
+ mp->mnt_kern_flag &= ~MNTK_SUJ;
+ MNT_IUNLOCK(mp);
+ journal_unmount(mp);
}
struct jblocks {
Modified: head/sys/ufs/ffs/ffs_vfsops.c
==============================================================================
--- head/sys/ufs/ffs/ffs_vfsops.c Sun Jun 12 18:01:31 2011 (r223017)
+++ head/sys/ufs/ffs/ffs_vfsops.c Sun Jun 12 18:46:48 2011 (r223018)
@@ -269,6 +269,8 @@ ffs_mount(struct mount *mp)
vfs_write_resume(mp);
return (error);
}
+ if (mp->mnt_flag & MNT_SOFTDEP)
+ softdep_unmount(mp);
DROP_GIANT();
g_topology_lock();
g_access(ump->um_cp, 0, -1, 0);
More information about the svn-src-head
mailing list