Author: jhb
Date: Thu Jan  5 20:41:40 2012
New Revision: 229647
URL: http://svn.freebsd.org/changeset/base/229647

Log:
  MFC 224169 (gibbs):
  cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h:
  cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c:
        o Add zpool_pool_state_to_name() API to libzfs which converts a
          pool_state_t into a user consumable string.
        o While here, correct constness of make zpool_state_to_name()
          and zpool_label_disk().

Modified:
  stable/8/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
  stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
  stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
Directory Properties:
  stable/8/cddl/contrib/opensolaris/   (props changed)

Modified: stable/8/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
==============================================================================
--- stable/8/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c    Thu Jan  5 
20:37:42 2012        (r229646)
+++ stable/8/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c    Thu Jan  5 
20:41:40 2012        (r229647)
@@ -1185,7 +1185,7 @@ print_status_config(zpool_handle_t *zhp,
        char *vname;
        uint64_t notpresent;
        spare_cbdata_t cb;
-       char *state;
+       const char *state;
 
        if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN,
            &child, &children) != 0)

Modified: stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
==============================================================================
--- stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h        Thu Jan 
 5 20:37:42 2012        (r229646)
+++ stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h        Thu Jan 
 5 20:41:40 2012        (r229647)
@@ -202,7 +202,8 @@ extern zpool_handle_t *zpool_open_canfai
 extern void zpool_close(zpool_handle_t *);
 extern const char *zpool_get_name(zpool_handle_t *);
 extern int zpool_get_state(zpool_handle_t *);
-extern char *zpool_state_to_name(vdev_state_t, vdev_aux_t);
+extern const char *zpool_state_to_name(vdev_state_t, vdev_aux_t);
+extern const char *zpool_pool_state_to_name(pool_state_t);
 extern void zpool_free_handles(libzfs_handle_t *);
 
 /*
@@ -252,7 +253,7 @@ extern nvlist_t *zpool_find_vdev(zpool_h
     boolean_t *, boolean_t *);
 extern nvlist_t *zpool_find_vdev_by_physpath(zpool_handle_t *, const char *,
     boolean_t *, boolean_t *, boolean_t *);
-extern int zpool_label_disk(libzfs_handle_t *, zpool_handle_t *, char *);
+extern int zpool_label_disk(libzfs_handle_t *, zpool_handle_t *, const char *);
 
 /*
  * Functions to manage pool properties

Modified: stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
==============================================================================
--- stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c   Thu Jan 
 5 20:37:42 2012        (r229646)
+++ stable/8/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c   Thu Jan 
 5 20:41:40 2012        (r229647)
@@ -176,7 +176,7 @@ zpool_get_prop_int(zpool_handle_t *zhp, 
 /*
  * Map VDEV STATE to printed strings.
  */
-char *
+const char *
 zpool_state_to_name(vdev_state_t state, vdev_aux_t aux)
 {
        switch (state) {
@@ -204,6 +204,34 @@ zpool_state_to_name(vdev_state_t state, 
 }
 
 /*
+ * Map POOL STATE to printed strings.
+ */
+const char *
+zpool_pool_state_to_name(pool_state_t state)
+{
+       switch (state) {
+       case POOL_STATE_ACTIVE:
+               return (gettext("ACTIVE"));
+       case POOL_STATE_EXPORTED:
+               return (gettext("EXPORTED"));
+       case POOL_STATE_DESTROYED:
+               return (gettext("DESTROYED"));
+       case POOL_STATE_SPARE:
+               return (gettext("SPARE"));
+       case POOL_STATE_L2CACHE:
+               return (gettext("L2CACHE"));
+       case POOL_STATE_UNINITIALIZED:
+               return (gettext("UNINITIALIZED"));
+       case POOL_STATE_UNAVAIL:
+               return (gettext("UNAVAIL"));
+       case POOL_STATE_POTENTIALLY_ACTIVE:
+               return (gettext("POTENTIALLY_ACTIVE"));
+       }
+
+       return (gettext("UNKNOWN"));
+}
+
+/*
  * Get a zpool property value for 'prop' and return the value in
  * a pre-allocated buffer.
  */
@@ -3648,7 +3676,7 @@ find_start_block(nvlist_t *config)
  * stripped of any leading /dev path.
  */
 int
-zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, char *name)
+zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, const char *name)
 {
 #ifdef sun
        char path[MAXPATHLEN];
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to