diff options
author | Christian Schwarz <[email protected]> | 2019-11-10 23:24:14 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2020-02-11 13:19:12 -0800 |
commit | a73f361fdb2c0a7778e70b482e316054fc2d8630 (patch) | |
tree | 094642f07952d4149c2dab358a35910961d0c42e /man | |
parent | 7b49bbc8164a8a5cd31cf1ba7a6cd88269fec8d0 (diff) |
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 <[email protected]>
Reviewed-by: Paul Dagnelie <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Christian Schwarz <[email protected]>
Closes #9571
Diffstat (limited to 'man')
-rw-r--r-- | man/man8/zfs-bookmark.8 | 10 | ||||
-rw-r--r-- | man/man8/zfs.8 | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/man/man8/zfs-bookmark.8 b/man/man8/zfs-bookmark.8 index 04d4af556..c1b48516d 100644 --- a/man/man8/zfs-bookmark.8 +++ b/man/man8/zfs-bookmark.8 @@ -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 diff --git a/man/man8/zfs.8 b/man/man8/zfs.8 index 62b7f1f8a..eb6e0e33e 100644 --- a/man/man8/zfs.8 +++ b/man/man8/zfs.8 @@ -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 |