View | Details | Raw Unified | Return to bug 180060
Collapse All | Expand All

(-)b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c (-2 / +12 lines)
Lines 1714-1722 zfs_mount(vfs_t *vfsp) Link Here
1714
	 * according to those options set in the current VFS options.
1714
	 * according to those options set in the current VFS options.
1715
	 */
1715
	 */
1716
	if (vfsp->vfs_flag & MS_REMOUNT) {
1716
	if (vfsp->vfs_flag & MS_REMOUNT) {
1717
		/* refresh mount options */
1717
		zfsvfs_t *zfsvfs = vfsp->vfs_data;
1718
		zfs_unregister_callbacks(vfsp->vfs_data);
1718
1719
		/*
1720
		 * Refresh mount options with z_teardown_lock blocking I/O while
1721
		 * the filesystem is in an inconsistent state.
1722
		 * The lock also serializes this code with filesystem
1723
		 * manipulations between entry to zfs_suspend_fs() and return
1724
		 * from zfs_resume_fs().
1725
		 */
1726
		rrm_enter(&zfsvfs->z_teardown_lock, RW_WRITER, FTAG);
1727
		zfs_unregister_callbacks(zfsvfs);
1719
		error = zfs_register_callbacks(vfsp);
1728
		error = zfs_register_callbacks(vfsp);
1729
		rrm_exit(&zfsvfs->z_teardown_lock, FTAG);
1720
		goto out;
1730
		goto out;
1721
	}
1731
	}
1722
1732

Return to bug 180060