mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 10:37:35 +03:00
OpenZFS 8592 - ZFS channel programs - rollback
Authored by: Brad Lewis <brad.lewis@delphix.com> Reviewed by: Chris Williamson <chris.williamson@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Robert Mustacchi <rm@joyent.com> Ported-by: Don Brady <don.brady@delphix.com> ZFS channel programs should be able to perform a rollback. OpenZFS-issue: https://www.illumos.org/issues/8592 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/d46b5ed6
This commit is contained in:
committed by
Brian Behlendorf
parent
475eca4908
commit
af07368986
@@ -20,7 +20,7 @@
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2016 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2011, 2017 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2013 Steven Hartland. All rights reserved.
|
||||
* Copyright (c) 2014 Spectra Logic Corporation, All rights reserved.
|
||||
*/
|
||||
@@ -245,6 +245,13 @@ typedef struct dsl_dataset_promote_arg {
|
||||
cred_t *cr;
|
||||
} dsl_dataset_promote_arg_t;
|
||||
|
||||
typedef struct dsl_dataset_rollback_arg {
|
||||
const char *ddra_fsname;
|
||||
const char *ddra_tosnap;
|
||||
void *ddra_owner;
|
||||
nvlist_t *ddra_result;
|
||||
} dsl_dataset_rollback_arg_t;
|
||||
|
||||
/*
|
||||
* The max length of a temporary tag prefix is the number of hex digits
|
||||
* required to express UINT64_MAX plus one for the hyphen.
|
||||
@@ -394,6 +401,9 @@ void dsl_dataset_set_refreservation_sync_impl(dsl_dataset_t *ds,
|
||||
void dsl_dataset_zapify(dsl_dataset_t *ds, dmu_tx_t *tx);
|
||||
boolean_t dsl_dataset_is_zapified(dsl_dataset_t *ds);
|
||||
boolean_t dsl_dataset_has_resume_receive_state(dsl_dataset_t *ds);
|
||||
|
||||
int dsl_dataset_rollback_check(void *arg, dmu_tx_t *tx);
|
||||
void dsl_dataset_rollback_sync(void *arg, dmu_tx_t *tx);
|
||||
int dsl_dataset_rollback(const char *fsname, const char *tosnap, void *owner,
|
||||
nvlist_t *result);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user