]> granicus.if.org Git - zfs/blob - tests/zfs-tests/tests/functional/pool_checkpoint/checkpoint_open.ksh
OpenZFS 9166 - zfs storage pool checkpoint
[zfs] / tests / zfs-tests / tests / functional / pool_checkpoint / checkpoint_open.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 open a checkpointed 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. Export and import pool
30 #       6. Verify that the pool was opened with the most current
31 #          data and not the checkpointed state.
32 #
33
34 verify_runnable "global"
35
36 setup_test_pool
37 log_onexit cleanup_test_pool
38
39 populate_test_pool
40 log_must zpool checkpoint $TESTPOOL
41 test_change_state_after_checkpoint
42
43 log_must zpool export $TESTPOOL
44 log_must zpool import $TESTPOOL
45
46 test_verify_post_checkpoint_state
47
48 log_pass "Open a checkpointed pool."