svn commit: r277239 - head/cddl/contrib/opensolaris/lib/libzfs/common

Steven Hartland smh at FreeBSD.org
Fri Jan 16 10:44:40 UTC 2015


Author: smh
Date: Fri Jan 16 10:44:39 2015
New Revision: 277239
URL: https://svnweb.freebsd.org/changeset/base/277239

Log:
  Eliminate illumos whole disk special case when searching for a ZFS vdev
  
  This special case prevented locating vdevs which start with c[0-9] e.g.
  gptid/c6cde092-504b-11e4-ba52-c45444453598 hence it was impossible to
  online a vdev via its path.
  
  Submitted by:	Peter Xu <xzpeter at gmail.com>
  MFC after:	2 weeks
  Sponsored by:	Multiplay

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

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c	Fri Jan 16 10:09:28 2015	(r277238)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c	Fri Jan 16 10:44:39 2015	(r277239)
@@ -1916,6 +1916,7 @@ zpool_scan(zpool_handle_t *zhp, pool_sca
 	}
 }
 
+#ifdef illumos
 /*
  * This provides a very minimal check whether a given string is likely a
  * c#t#d# style string.  Users of this are expected to do their own
@@ -1947,6 +1948,7 @@ ctd_check_path(char *str) {
 	}
 	return (CTD_CHECK(str));
 }
+#endif
 
 /*
  * Find a vdev that matches the search criteria specified. We use the
@@ -2002,6 +2004,7 @@ vdev_to_nvlist_iter(nvlist_t *nv, nvlist
 		 *
 		 * Otherwise, all other searches are simple string compares.
 		 */
+#ifdef illumos
 		if (strcmp(srchkey, ZPOOL_CONFIG_PATH) == 0 &&
 		    ctd_check_path(val)) {
 			uint64_t wholedisk = 0;
@@ -2041,6 +2044,9 @@ vdev_to_nvlist_iter(nvlist_t *nv, nvlist
 				break;
 			}
 		} else if (strcmp(srchkey, ZPOOL_CONFIG_TYPE) == 0 && val) {
+#else
+		if (strcmp(srchkey, ZPOOL_CONFIG_TYPE) == 0 && val) {
+#endif
 			char *type, *idx, *end, *p;
 			uint64_t id, vdev_id;
 


More information about the svn-src-all mailing list