mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
OpenZFS 9235 - rename zpool_rewind_policy_t to zpool_load_policy_t
We want to be able to pass various settings during import/open of a pool, which are not only related to rewind. Instead of adding a new policy and duplicate a bunch of code, we should just rename rewind_policy to a more generic term like load_policy. For instance, we'd like to set spa->spa_import_flags from the nvlist, rather from a flags parameter passed to spa_import as in some cases we want those flags not only for the import case, but also for the open case. One such flag could be ZFS_IMPORT_MISSING_LOG (as used in zdb) which would allow zfs to open a pool when logs are missing. Authored by: Pavel Zakharov <pavel.zakharov@delphix.com> Reviewed by: Matt Ahrens <matt@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Ported-by: Brian Behlendorf <behlendorf1@llnl.gov> OpenZFS-issue: https://illumos.org/issues/9235 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/d2b1e44 Closes #7532
This commit is contained in:
committed by
Brian Behlendorf
parent
85912983a4
commit
8a393be353
@@ -2667,8 +2667,9 @@ zpool_do_import(int argc, char **argv)
|
||||
|
||||
/* In the future, we can capture further policy and include it here */
|
||||
if (nvlist_alloc(&policy, NV_UNIQUE_NAME, 0) != 0 ||
|
||||
nvlist_add_uint64(policy, ZPOOL_REWIND_REQUEST_TXG, txg) != 0 ||
|
||||
nvlist_add_uint32(policy, ZPOOL_REWIND_REQUEST, rewind_policy) != 0)
|
||||
nvlist_add_uint64(policy, ZPOOL_LOAD_REQUEST_TXG, txg) != 0 ||
|
||||
nvlist_add_uint32(policy, ZPOOL_LOAD_REWIND_POLICY,
|
||||
rewind_policy) != 0)
|
||||
goto error;
|
||||
|
||||
/* check argument count */
|
||||
@@ -2819,7 +2820,7 @@ zpool_do_import(int argc, char **argv)
|
||||
if (do_destroyed && pool_state != POOL_STATE_DESTROYED)
|
||||
continue;
|
||||
|
||||
verify(nvlist_add_nvlist(config, ZPOOL_REWIND_POLICY,
|
||||
verify(nvlist_add_nvlist(config, ZPOOL_LOAD_POLICY,
|
||||
policy) == 0);
|
||||
|
||||
if (argc == 0) {
|
||||
@@ -5878,8 +5879,10 @@ zpool_do_clear(int argc, char **argv)
|
||||
|
||||
/* In future, further rewind policy choices can be passed along here */
|
||||
if (nvlist_alloc(&policy, NV_UNIQUE_NAME, 0) != 0 ||
|
||||
nvlist_add_uint32(policy, ZPOOL_REWIND_REQUEST, rewind_policy) != 0)
|
||||
nvlist_add_uint32(policy, ZPOOL_LOAD_REWIND_POLICY,
|
||||
rewind_policy) != 0) {
|
||||
return (1);
|
||||
}
|
||||
|
||||
pool = argv[0];
|
||||
device = argc == 2 ? argv[1] : NULL;
|
||||
|
||||
Reference in New Issue
Block a user