Print this page
2619 asynchronous destruction of ZFS file systems
2747 SPA versioning with zfs feature flags
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <gwilson@delphix.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Dan Kruchinin <dan.kruchinin@gmail.com>
Approved by: Dan McDonald <danmcd@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/common/zfs/zpool_prop.c
          +++ new/usr/src/common/zfs/zpool_prop.c
↓ open down ↓ 71 lines elided ↑ open up ↑
  72   72          zprop_register_string(ZPOOL_PROP_CACHEFILE, "cachefile", NULL,
  73   73              PROP_DEFAULT, ZFS_TYPE_POOL, "<file> | none", "CACHEFILE");
  74   74          zprop_register_string(ZPOOL_PROP_COMMENT, "comment", NULL,
  75   75              PROP_DEFAULT, ZFS_TYPE_POOL, "<comment-string>", "COMMENT");
  76   76  
  77   77          /* readonly number properties */
  78   78          zprop_register_number(ZPOOL_PROP_SIZE, "size", 0, PROP_READONLY,
  79   79              ZFS_TYPE_POOL, "<size>", "SIZE");
  80   80          zprop_register_number(ZPOOL_PROP_FREE, "free", 0, PROP_READONLY,
  81   81              ZFS_TYPE_POOL, "<size>", "FREE");
       82 +        zprop_register_number(ZPOOL_PROP_FREEING, "freeing", 0, PROP_READONLY,
       83 +            ZFS_TYPE_POOL, "<size>", "FREEING");
  82   84          zprop_register_number(ZPOOL_PROP_ALLOCATED, "allocated", 0,
  83   85              PROP_READONLY, ZFS_TYPE_POOL, "<size>", "ALLOC");
  84   86          zprop_register_number(ZPOOL_PROP_EXPANDSZ, "expandsize", 0,
  85   87              PROP_READONLY, ZFS_TYPE_POOL, "<size>", "EXPANDSZ");
  86   88          zprop_register_number(ZPOOL_PROP_CAPACITY, "capacity", 0, PROP_READONLY,
  87   89              ZFS_TYPE_POOL, "<size>", "CAP");
  88   90          zprop_register_number(ZPOOL_PROP_GUID, "guid", 0, PROP_READONLY,
  89   91              ZFS_TYPE_POOL, "<guid>", "GUID");
  90   92          zprop_register_number(ZPOOL_PROP_HEALTH, "health", 0, PROP_READONLY,
  91   93              ZFS_TYPE_POOL, "<state>", "HEALTH");
↓ open down ↓ 67 lines elided ↑ open up ↑
 159  161  {
 160  162          return (zpool_prop_table[prop].pd_strdefault);
 161  163  }
 162  164  
 163  165  uint64_t
 164  166  zpool_prop_default_numeric(zpool_prop_t prop)
 165  167  {
 166  168          return (zpool_prop_table[prop].pd_numdefault);
 167  169  }
 168  170  
      171 +/*
      172 + * Returns true if this is a valid feature@ property.
      173 + */
      174 +boolean_t
      175 +zpool_prop_feature(const char *name)
      176 +{
      177 +        static const char *prefix = "feature@";
      178 +        return (strncmp(name, prefix, strlen(prefix)) == 0);
      179 +}
      180 +
      181 +/*
      182 + * Returns true if this is a valid unsupported@ property.
      183 + */
      184 +boolean_t
      185 +zpool_prop_unsupported(const char *name)
      186 +{
      187 +        static const char *prefix = "unsupported@";
      188 +        return (strncmp(name, prefix, strlen(prefix)) == 0);
      189 +}
      190 +
 169  191  int
 170  192  zpool_prop_string_to_index(zpool_prop_t prop, const char *string,
 171  193      uint64_t *index)
 172  194  {
 173  195          return (zprop_string_to_index(prop, string, index, ZFS_TYPE_POOL));
 174  196  }
 175  197  
 176  198  int
 177  199  zpool_prop_index_to_string(zpool_prop_t prop, uint64_t index,
 178  200      const char **string)
↓ open down ↓ 30 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX