]> git.proxmox.com Git - mirror_zfs.git/blob - tests/zfs-tests/tests/functional/pool_checkpoint/checkpoint_discard.ksh
OpenZFS 9166 - zfs storage pool checkpoint
[mirror_zfs.git] / tests / zfs-tests / tests / functional / pool_checkpoint / checkpoint_discard.ksh
1 #!/bin/ksh -p
2
3 #
4 # This file and its contents are supplied under the terms of the
5 # Common Development and Distribution License ("CDDL"), version 1.0.
6 # You may only use this file in accordance with the terms of version
7 # 1.0 of the CDDL.
8 #
9 # A full copy of the text of the CDDL should have accompanied this
10 # source. A copy of the CDDL is also available via the Internet at
11 # http://www.illumos.org/license/CDDL.
12 #
13
14 #
15 # Copyright (c) 2017 by Delphix. All rights reserved.
16 #
17
18 . $STF_SUITE/tests/functional/pool_checkpoint/pool_checkpoint.kshlib
19
20 #
21 # DESCRIPTION:
22 # Ensure that we can discard the checkpoint from a pool.
23 #
24 # STRATEGY:
25 # 1. Create pool
26 # 2. Populate it
27 # 3. Take checkpoint
28 # 4. Modify data (include at least one destructive change)
29 # 5. Discard checkpoint
30 # 6. Export and attempt to rewind. Rewinding should fail
31 # 7. Import pool normally and verify state
32 #
33
34 verify_runnable "global"
35
36 setup_test_pool
37 log_onexit cleanup_test_pool
38
39 populate_test_pool
40
41 log_must zpool checkpoint $TESTPOOL
42
43 test_change_state_after_checkpoint
44
45 log_must zpool checkpoint -d $TESTPOOL
46
47 log_must zpool export $TESTPOOL
48 log_mustnot zpool import --rewind-to-checkpoint $TESTPOOL
49
50 log_must zpool import $TESTPOOL
51 test_verify_post_checkpoint_state
52
53 log_pass "Discard checkpoint from pool."