Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jun 2012 07:38:22 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r237119 - head/cddl/contrib/opensolaris/lib/libzfs/common
Message-ID:  <201206150738.q5F7cM8F052052@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Fri Jun 15 07:38:21 2012
New Revision: 237119
URL: http://svn.freebsd.org/changeset/base/237119

Log:
  Do not remount ZFS dataset if changing canmount property to "on" and
  dataset is already mounted.
  
  PR:		167905
  Submitted by:	Bryan Drewery <bryan@shatow.net>
  MFC after:	1 week

Modified:
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Fri Jun 15 07:26:39 2012	(r237118)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Fri Jun 15 07:38:21 2012	(r237119)
@@ -1485,11 +1485,13 @@ zfs_prop_set(zfs_handle_t *zhp, const ch
 
 	/*
 	 * If the dataset's canmount property is being set to noauto,
+	 * or being set to on and the dataset is already mounted,
 	 * then we want to prevent unmounting & remounting it.
 	 */
 	do_prefix = !((prop == ZFS_PROP_CANMOUNT) &&
 	    (zprop_string_to_index(prop, propval, &idx,
-	    ZFS_TYPE_DATASET) == 0) && (idx == ZFS_CANMOUNT_NOAUTO));
+	    ZFS_TYPE_DATASET) == 0) && (idx == ZFS_CANMOUNT_NOAUTO ||
+	    (idx == ZFS_CANMOUNT_ON && zfs_is_mounted(zhp, NULL))));
 
 	if (do_prefix && (ret = changelist_prefix(cl)) != 0)
 		goto error;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206150738.q5F7cM8F052052>