1#!/usr/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 34verify_runnable "global" 35 36setup_test_pool 37log_onexit cleanup_test_pool 38 39populate_test_pool 40 41log_must zpool checkpoint $TESTPOOL 42 43test_change_state_after_checkpoint 44 45log_must zpool checkpoint -d $TESTPOOL 46 47log_must zpool export $TESTPOOL 48log_mustnot zpool import --rewind-to-checkpoint $TESTPOOL 49 50log_must zpool import $TESTPOOL 51test_verify_post_checkpoint_state 52 53log_pass "Discard checkpoint from pool." 54