mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 02:44:41 +03:00
Implement bookmark copying
This feature allows copying existing bookmarks using
zfs bookmark fs#target fs#newbookmark
There are some niche use cases for such functionality,
e.g. when using bookmarks as markers for replication progress.
Copying redaction bookmarks produces a normal bookmark that
cannot be used for redacted send (we are not duplicating
the redaction object).
ZCP support for bookmarking (both creation and copying) will be
implemented in a separate patch based on this work.
Overview:
- Terminology:
- source = existing snapshot or bookmark
- new/bmark = new bookmark
- Implement bookmark copying in `dsl_bookmark.c`
- create new bookmark node
- copy source's `zbn_phys` to new's `zbn_phys`
- zero-out redaction object id in copy
- Extend existing bookmark ioctl nvlist schema to accept
bookmarks as sources
- => `dsl_bookmark_create_nvl_validate` is authoritative
- use `dsl_dataset_is_before` check for both snapshot
and bookmark sources
- Adjust CLI
- refactor shortname expansion logic in `zfs_do_bookmark`
- Update man pages
- warn about redaction bookmark handling
- Add test cases
- CLI
- pyyzfs libzfs_core bindings
Reviewed-by: Matt Ahrens <matt@delphix.com>
Reviewed-by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Christian Schwarz <me@cschwarz.com>
Closes #9571
This commit is contained in:
committed by
Brian Behlendorf
parent
7b49bbc816
commit
a73f361fdb
@@ -29,6 +29,7 @@
|
||||
.\" Copyright 2019 Richard Laager. All rights reserved.
|
||||
.\" Copyright 2018 Nexenta Systems, Inc.
|
||||
.\" Copyright 2019 Joyent, Inc.
|
||||
.\" Copyright (c) 2019, 2020 by Christian Schwarz. All Rights Reserved.
|
||||
.\"
|
||||
.Dd June 30, 2019
|
||||
.Dt ZFS-BOOKMARK 8 SMM
|
||||
@@ -42,14 +43,19 @@
|
||||
.It Xo
|
||||
.Nm
|
||||
.Cm bookmark
|
||||
.Ar snapshot bookmark
|
||||
.Ar snapshot Ns | Ns Ar bookmark newbookmark
|
||||
.Xc
|
||||
Creates a bookmark of the given snapshot.
|
||||
Creates a new bookmark of the given snapshot or bookmark.
|
||||
Bookmarks mark the point in time when the snapshot was created, and can be used
|
||||
as the incremental source for a
|
||||
.Xr zfs-send 8
|
||||
command.
|
||||
.Pp
|
||||
When creating a bookmark from an existing redaction bookmark, the resulting
|
||||
bookmark is
|
||||
.Sy not
|
||||
a redaction bookmark.
|
||||
.Pp
|
||||
This feature must be enabled to be used.
|
||||
See
|
||||
.Xr zpool-features 5
|
||||
|
||||
+1
-1
@@ -200,7 +200,7 @@ Streams are created using the
|
||||
.Xr zfs-send 8
|
||||
subcommand, which by default creates a full stream.
|
||||
.It Xr zfs-bookmark 8
|
||||
Creates a bookmark of the given snapshot.
|
||||
Creates a new bookmark of the given snapshot or bookmark.
|
||||
Bookmarks mark the point in time when the snapshot was created, and can be used
|
||||
as the incremental source for a
|
||||
.Nm zfs Cm send
|
||||
|
||||
Reference in New Issue
Block a user