svn commit: r328251 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/sys/fs vendor/illumos/dist/cmd/zpool vendor/illumos/dist/lib/libzfs/common
Alexander Motin
mav at FreeBSD.org
Mon Jan 22 04:48:15 UTC 2018
Author: mav
Date: Mon Jan 22 04:48:14 2018
New Revision: 328251
URL: https://svnweb.freebsd.org/changeset/base/328251
Log:
8652 Tautological comparisons with ZPROP_INVAL
illumos/illumos-gate at 4ae5f5f06c6c2d1db8167480f7d9e3b5378ba2f2
https://www.illumos.org/issues/8652:
Clang and GCC prefer to use unsigned ints to store enums. With Clang, that
causes tautological comparison warnings when comparing a zfs_prop_t or
zpool_prop_t variable to the macro ZPROP_INVAL. It's likely that error
handling code is being silently removed as a result.
Reviewed by: Matthew Ahrens <mahrens at delphix.com>
Reviewed by: Igor Kozhukhov <igor at dilos.org>
Approved by: Gordon Ross <gwr at nexenta.com>
Author: Alan Somers <asomers at gmail.com>
Modified:
vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c
vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h
Changes in other areas also in this revision:
Modified:
vendor/illumos/dist/cmd/zpool/zpool_main.c
vendor/illumos/dist/lib/libzfs/common/libzfs_pool.c
Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Mon Jan 22 04:37:04 2018 (r328250)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c Mon Jan 22 04:48:14 2018 (r328251)
@@ -335,7 +335,7 @@ spa_prop_get(spa_t *spa, nvlist_t **nvp)
zprop_source_t src = ZPROP_SRC_DEFAULT;
zpool_prop_t prop;
- if ((prop = zpool_name_to_prop(za.za_name)) == ZPROP_INVAL)
+ if ((prop = zpool_name_to_prop(za.za_name)) == ZPOOL_PROP_INVAL)
continue;
switch (za.za_integer_length) {
@@ -423,7 +423,7 @@ spa_prop_validate(spa_t *spa, nvlist_t *props)
zpool_prop_t prop = zpool_name_to_prop(propname);
switch (prop) {
- case ZPROP_INVAL:
+ case ZPOOL_PROP_INVAL:
if (!zpool_prop_feature(propname)) {
error = SET_ERROR(EINVAL);
break;
@@ -666,7 +666,7 @@ spa_prop_set(spa_t *spa, nvlist_t *nvp)
prop == ZPOOL_PROP_READONLY)
continue;
- if (prop == ZPOOL_PROP_VERSION || prop == ZPROP_INVAL) {
+ if (prop == ZPOOL_PROP_VERSION || prop == ZPOOL_PROP_INVAL) {
uint64_t ver;
if (prop == ZPOOL_PROP_VERSION) {
@@ -6313,7 +6313,7 @@ spa_sync_props(void *arg, dmu_tx_t *tx)
spa_feature_t fid;
switch (prop = zpool_name_to_prop(nvpair_name(elem))) {
- case ZPROP_INVAL:
+ case ZPOOL_PROP_INVAL:
/*
* We checked this earlier in spa_prop_validate().
*/
Modified: vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h
==============================================================================
--- vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h Mon Jan 22 04:37:04 2018 (r328250)
+++ vendor-sys/illumos/dist/uts/common/sys/fs/zfs.h Mon Jan 22 04:48:14 2018 (r328251)
@@ -87,7 +87,9 @@ typedef enum dmu_objset_type {
* the property table in usr/src/common/zfs/zfs_prop.c.
*/
typedef enum {
- ZFS_PROP_TYPE,
+ ZPROP_CONT = -2,
+ ZPROP_INVAL = -1,
+ ZFS_PROP_TYPE = 0,
ZFS_PROP_CREATION,
ZFS_PROP_USED,
ZFS_PROP_AVAILABLE,
@@ -179,6 +181,7 @@ extern const char *zfs_userquota_prop_prefixes[ZFS_NUM
* the property table in usr/src/common/zfs/zpool_prop.c.
*/
typedef enum {
+ ZPOOL_PROP_INVAL = -1,
ZPOOL_PROP_NAME,
ZPOOL_PROP_SIZE,
ZPOOL_PROP_CAPACITY,
@@ -210,9 +213,6 @@ typedef enum {
/* Small enough to not hog a whole line of printout in zpool(1M). */
#define ZPROP_MAX_COMMENT 32
-
-#define ZPROP_CONT -2
-#define ZPROP_INVAL -1
#define ZPROP_VALUE "value"
#define ZPROP_SOURCE "source"
More information about the svn-src-all
mailing list