mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-27 10:24:22 +03:00
Make spa.c assertions catch unsupported pre-feature flag pool versions
A couple of assertions in spa.c were designed to prevent the use of invalid pool versions. They were written under the assumption that all valid pools are less than SPA_VERSION. Since feature flags jumped from 28 to 5000, any numbers in the range 28 to 5000 non-inclusive will fail to trigger them. We switch to the new SPA_VERSION_IS_SUPPORTED macro to correct this. Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #1282
This commit is contained in:
parent
9878a89d7a
commit
8dca0a9a38
@ -5770,7 +5770,7 @@ spa_sync_version(void *arg1, void *arg2, dmu_tx_t *tx)
|
||||
*/
|
||||
ASSERT(tx->tx_txg != TXG_INITIAL);
|
||||
|
||||
ASSERT(version <= SPA_VERSION);
|
||||
ASSERT(SPA_VERSION_IS_SUPPORTED(version));
|
||||
ASSERT(version >= spa_version(spa));
|
||||
|
||||
spa->spa_uberblock.ub_version = version;
|
||||
@ -6294,7 +6294,7 @@ spa_upgrade(spa_t *spa, uint64_t version)
|
||||
* future version would result in an unopenable pool, this shouldn't be
|
||||
* possible.
|
||||
*/
|
||||
ASSERT(spa->spa_uberblock.ub_version <= SPA_VERSION);
|
||||
ASSERT(SPA_VERSION_IS_SUPPORTED(spa->spa_uberblock.ub_version));
|
||||
ASSERT(version >= spa->spa_uberblock.ub_version);
|
||||
|
||||
spa->spa_uberblock.ub_version = version;
|
||||
|
Loading…
Reference in New Issue
Block a user