svn commit: r224200 - in projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common: fs/zfs sys/sysevent

Justin T. Gibbs gibbs at FreeBSD.org
Mon Jul 18 20:06:49 UTC 2011


Author: gibbs
Date: Mon Jul 18 20:06:49 2011
New Revision: 224200
URL: http://svn.freebsd.org/changeset/base/224200

Log:
  sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:
  sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/dev.h:
  	Emit "dev_path" instead of "phys_path" in autoexpand
  	events.  The "dev_path" already is a devfs path to
  	the device and this avoids having to convert the
  	physical path information into a devfs path in yet
  	another location.
  
  Sponsored by:	Spectra Logic Corporation

Modified:
  projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/dev.h

Modified: projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
==============================================================================
--- projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c	Mon Jul 18 20:06:15 2011	(r224199)
+++ projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c	Mon Jul 18 20:06:49 2011	(r224200)
@@ -5051,7 +5051,6 @@ spa_async_autoexpand(spa_t *spa, vdev_t 
 {
 	sysevent_id_t eid;
 	nvlist_t *attr;
-	char *physpath;
 
 	if (!spa->spa_autoexpand)
 		return;
@@ -5061,20 +5060,16 @@ spa_async_autoexpand(spa_t *spa, vdev_t 
 		spa_async_autoexpand(spa, cvd);
 	}
 
-	if (!vd->vdev_ops->vdev_op_leaf || vd->vdev_physpath == NULL)
+	if (!vd->vdev_ops->vdev_op_leaf || vd->vdev_path == NULL)
 		return;
 
-	physpath = kmem_zalloc(MAXPATHLEN, KM_SLEEP);
-	(void) snprintf(physpath, MAXPATHLEN, "/devices%s", vd->vdev_physpath);
-
 	VERIFY(nvlist_alloc(&attr, NV_UNIQUE_NAME, KM_SLEEP) == 0);
-	VERIFY(nvlist_add_string(attr, DEV_PHYS_PATH, physpath) == 0);
+	VERIFY(nvlist_add_string(attr, DEV_PATH, vd->vdev_path) == 0);
 
 	(void) ddi_log_sysevent(zfs_dip, SUNW_VENDOR, EC_DEV_STATUS,
 	    ESC_ZFS_VDEV_AUTOEXPAND, attr, &eid, DDI_SLEEP);
 
 	nvlist_free(attr);
-	kmem_free(physpath, MAXPATHLEN);
 }
 
 static void

Modified: projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/dev.h
==============================================================================
--- projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/dev.h	Mon Jul 18 20:06:15 2011	(r224199)
+++ projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/dev.h	Mon Jul 18 20:06:49 2011	(r224200)
@@ -236,6 +236,7 @@ extern "C" {
 
 #define	EV_VERSION		"version"
 #define	DEV_PHYS_PATH		"phys_path"
+#define	DEV_PATH		"dev_path"
 #define	DEV_NAME		"dev_name"
 #define	DEV_DRIVER_NAME		"driver_name"
 #define	DEV_INSTANCE		"instance"


More information about the svn-src-projects mailing list