mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Add zfs.sync.snapshot_rename
Only the single snapshot rename is provided. The recursive or more complex rename can be scripted. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Andriy Gapon <avg@FreeBSD.org> Closes #13802
This commit is contained in:
@@ -129,6 +129,7 @@ nobase_dist_datadir_zfs_tests_tests_DATA += \
|
||||
functional/channel_program/synctask_core/tst.snapshot_destroy.zcp \
|
||||
functional/channel_program/synctask_core/tst.snapshot_neg.zcp \
|
||||
functional/channel_program/synctask_core/tst.snapshot_recursive.zcp \
|
||||
functional/channel_program/synctask_core/tst.snapshot_rename.zcp \
|
||||
functional/channel_program/synctask_core/tst.snapshot_simple.zcp \
|
||||
functional/checksum/default.cfg \
|
||||
functional/clean_mirror/clean_mirror_common.kshlib \
|
||||
@@ -536,6 +537,7 @@ nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \
|
||||
functional/channel_program/synctask_core/tst.snapshot_destroy.ksh \
|
||||
functional/channel_program/synctask_core/tst.snapshot_neg.ksh \
|
||||
functional/channel_program/synctask_core/tst.snapshot_recursive.ksh \
|
||||
functional/channel_program/synctask_core/tst.snapshot_rename.ksh \
|
||||
functional/channel_program/synctask_core/tst.snapshot_simple.ksh \
|
||||
functional/channel_program/synctask_core/tst.terminate_by_signal.ksh \
|
||||
functional/chattr/chattr_001_pos.ksh \
|
||||
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
#!/bin/ksh -p
|
||||
#
|
||||
# This file and its contents are supplied under the terms of the
|
||||
# Common Development and Distribution License ("CDDL"), version 1.0.
|
||||
# You may only use this file in accordance with the terms of version
|
||||
# 1.0 of the CDDL.
|
||||
#
|
||||
# A full copy of the text of the CDDL should have accompanied this
|
||||
# source. A copy of the CDDL is also available via the Internet at
|
||||
# http://www.illumos.org/license/CDDL.
|
||||
#
|
||||
|
||||
#
|
||||
# Copyright (c) 2022 by Andriy Gapon. All rights reserved.
|
||||
#
|
||||
|
||||
. $STF_SUITE/tests/functional/channel_program/channel_common.kshlib
|
||||
|
||||
#
|
||||
# DESCRIPTION: Make sure basic snapshot functionality works in channel programs
|
||||
#
|
||||
|
||||
verify_runnable "global"
|
||||
|
||||
fs=$TESTPOOL/$TESTFS/testchild
|
||||
snapname1=testsnap1
|
||||
snapname2=testsnap2
|
||||
|
||||
function cleanup
|
||||
{
|
||||
destroy_dataset $fs "-R"
|
||||
}
|
||||
|
||||
log_onexit cleanup
|
||||
|
||||
log_must zfs create $fs
|
||||
|
||||
log_must_program_sync $TESTPOOL \
|
||||
$ZCP_ROOT/synctask_core/tst.snapshot_rename.zcp $fs $snapname1 $snapname2
|
||||
|
||||
log_pass "Snapshot renaming works"
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
--
|
||||
-- This file and its contents are supplied under the terms of the
|
||||
-- Common Development and Distribution License ("CDDL"), version 1.0.
|
||||
-- You may only use this file in accordance with the terms of version
|
||||
-- 1.0 of the CDDL.
|
||||
--
|
||||
-- A full copy of the text of the CDDL should have accompanied this
|
||||
-- source. A copy of the CDDL is also available via the Internet at
|
||||
-- http://www.illumos.org/license/CDDL.
|
||||
--
|
||||
|
||||
--
|
||||
-- Copyright (c) 2022 by Andriy Gapon. All rights reserved.
|
||||
--
|
||||
|
||||
-- This program should be invoked as "zfs program <pool> <prog> <fs> <snap>"
|
||||
|
||||
args = ...
|
||||
argv = args["argv"]
|
||||
assert(zfs.sync.snapshot(argv[1] .. "@" .. argv[2]) == 0)
|
||||
assert(zfs.sync.rename_snapshot(argv[1], argv[2], argv[3]) == 0)
|
||||
snaps = {}
|
||||
for s in zfs.list.snapshots(argv[1]) do
|
||||
table.insert(snaps, s)
|
||||
end
|
||||
assert(#snaps == 1)
|
||||
assert(snaps[1] == (argv[1] .. "@" .. argv[3]))
|
||||
Reference in New Issue
Block a user