mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-17 15:27:36 +00:00
8652 Tautological comparisons with ZPROP_INVAL
illumos/illumos-gate@4ae5f5f06c 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@delphix.com> Reviewed by: Igor Kozhukhov <igor@dilos.org> Approved by: Gordon Ross <gwr@nexenta.com> Author: Alan Somers <asomers@gmail.com>
This commit is contained in:
parent
434e06c6f9
commit
1e2bad5ea0
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor-sys/illumos/dist/; revision=328251
@ -440,7 +440,7 @@ add_prop_list(const char *propname, char *propval, nvlist_t **props,
|
||||
* feature@ properties and version should not be specified
|
||||
* at the same time.
|
||||
*/
|
||||
if ((prop == ZPROP_INVAL && zpool_prop_feature(propname) &&
|
||||
if ((prop == ZPOOL_PROP_INVAL && zpool_prop_feature(propname) &&
|
||||
nvlist_exists(proplist, vname)) ||
|
||||
(prop == ZPOOL_PROP_VERSION &&
|
||||
prop_list_contains_feature(proplist))) {
|
||||
|
@ -445,7 +445,7 @@ zpool_valid_proplist(libzfs_handle_t *hdl, const char *poolname,
|
||||
const char *propname = nvpair_name(elem);
|
||||
|
||||
prop = zpool_name_to_prop(propname);
|
||||
if (prop == ZPROP_INVAL && zpool_prop_feature(propname)) {
|
||||
if (prop == ZPOOL_PROP_INVAL && zpool_prop_feature(propname)) {
|
||||
int err;
|
||||
char *fname = strchr(propname, '@') + 1;
|
||||
|
||||
@ -484,7 +484,7 @@ zpool_valid_proplist(libzfs_handle_t *hdl, const char *poolname,
|
||||
/*
|
||||
* Make sure this property is valid and applies to this type.
|
||||
*/
|
||||
if (prop == ZPROP_INVAL) {
|
||||
if (prop == ZPOOL_PROP_INVAL) {
|
||||
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
|
||||
"invalid property '%s'"), propname);
|
||||
(void) zfs_error(hdl, EZFS_BADPROP, errbuf);
|
||||
|
@ -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().
|
||||
*/
|
||||
|
@ -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_USERQUOTA_PROPS];
|
||||
* 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,
|
||||
@ -211,9 +214,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"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user