HomeFreeBSD

Update cache file when setting compatibility property

Description

Update cache file when setting compatibility property

Unlike most other properties the 'compatibility' property is stored
in the pool config object and not the DMU_OT_POOL_PROPS object.

This had the advantage that the compatibility information is available
without needing to fully import the pool (it can be read with zdb).
However, this means we need to make sure to update both the copy of
the config in the MOS and the cache file. This wasn't being done.

This commit adds a call to spa_async_request() to ensure the copy of
the config in the cache file gets updated as well as the one stored
in the pool. This same change is made for the 'comment' property
which suffers from the same inconsistency.

Reviewed-by: Sean Eric Fagan <sef@ixsystems.com>
Reviewed-by: Colm Buckley <colm@tuatha.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #12261
Closes #12276

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Jun 24 2021, 9:30 PM
GitHub <noreply@github.com>Committed on Jun 24 2021, 9:30 PM
Parents
rG8f11b1d26efb: Fix flag copying in resume case
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rG88a4833039b4: Update cache file when setting compatibility property (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Jun 24 2021, 9:30 PM