mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 10:01:01 +03:00
Silence static analyzer warnings about spa_sync_props()
Both Coverity and Clang's static analyzer complain about reading an uninitialized intval if the property is not passed as DATA_TYPE_UINT64 in the nvlist. This is impossible becuase spa_prop_validate() already checked this, but they are unlikely to be the last static analyzers to complain about this, so lets just refactor the code to suppress the warnings. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Closes #14043
This commit is contained in:
parent
4ecd96371b
commit
44f71818f8
@ -8867,37 +8867,37 @@ spa_sync_props(void *arg, dmu_tx_t *tx)
|
||||
spa_history_log_internal(spa, "set", tx,
|
||||
"%s=%lld", nvpair_name(elem),
|
||||
(longlong_t)intval);
|
||||
|
||||
switch (prop) {
|
||||
case ZPOOL_PROP_DELEGATION:
|
||||
spa->spa_delegation = intval;
|
||||
break;
|
||||
case ZPOOL_PROP_BOOTFS:
|
||||
spa->spa_bootfs = intval;
|
||||
break;
|
||||
case ZPOOL_PROP_FAILUREMODE:
|
||||
spa->spa_failmode = intval;
|
||||
break;
|
||||
case ZPOOL_PROP_AUTOTRIM:
|
||||
spa->spa_autotrim = intval;
|
||||
spa_async_request(spa,
|
||||
SPA_ASYNC_AUTOTRIM_RESTART);
|
||||
break;
|
||||
case ZPOOL_PROP_AUTOEXPAND:
|
||||
spa->spa_autoexpand = intval;
|
||||
if (tx->tx_txg != TXG_INITIAL)
|
||||
spa_async_request(spa,
|
||||
SPA_ASYNC_AUTOEXPAND);
|
||||
break;
|
||||
case ZPOOL_PROP_MULTIHOST:
|
||||
spa->spa_multihost = intval;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
ASSERT(0); /* not allowed */
|
||||
}
|
||||
|
||||
switch (prop) {
|
||||
case ZPOOL_PROP_DELEGATION:
|
||||
spa->spa_delegation = intval;
|
||||
break;
|
||||
case ZPOOL_PROP_BOOTFS:
|
||||
spa->spa_bootfs = intval;
|
||||
break;
|
||||
case ZPOOL_PROP_FAILUREMODE:
|
||||
spa->spa_failmode = intval;
|
||||
break;
|
||||
case ZPOOL_PROP_AUTOTRIM:
|
||||
spa->spa_autotrim = intval;
|
||||
spa_async_request(spa,
|
||||
SPA_ASYNC_AUTOTRIM_RESTART);
|
||||
break;
|
||||
case ZPOOL_PROP_AUTOEXPAND:
|
||||
spa->spa_autoexpand = intval;
|
||||
if (tx->tx_txg != TXG_INITIAL)
|
||||
spa_async_request(spa,
|
||||
SPA_ASYNC_AUTOEXPAND);
|
||||
break;
|
||||
case ZPOOL_PROP_MULTIHOST:
|
||||
spa->spa_multihost = intval;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user