pool.snapshot.rollback ====================== Roll the dataset of snapshot ``id`` back to the state captured by that snapshot. .. warning:: This operation is destructive. Any data written to the dataset after the snapshot was taken is permanently lost. Snapshots more recent than ``id`` must also be destroyed for the rollback to proceed; use the ``recursive``, ``recursive_clones``, or ``recursive_rollback`` options to control how newer snapshots and their clones are handled. A hold on a newer snapshot, or a clone that cannot be destroyed, is reported as a JSON-RPC ``error`` response (code ``-32001``, *Method call error*, errno ``EBUSY``); release a hold with :doc:`pool.snapshot.release ` first. .. raw:: html
Type: object

Type: array
No Additional Items

Tuple Validation

Parameter 1: id

id

Type: string

ID of the snapshot to rollback to.

Parameter 2: options

options

Type: object

Options for controlling snapshot rollback behavior.

No Additional Properties

Recursive

Type: boolean Default: false

Destroy any snapshots more recent than the one specified.

Recursive Clones

Type: boolean Default: false

Just like recursive, but also destroy any clones.

Force

Type: boolean Default: false

Force unmount of any clones.

Recursive Rollback

Type: boolean Default: false

Do a complete recursive rollback of each child snapshot for id. If any child does not have specified snapshot, this operation will fail.

Result

Type: null

Returns null on successful snapshot rollback.



*Required roles:* POOL_WRITE | SNAPSHOT_WRITE