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 rewind on 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. Rewind to checkpoint 30# 6. Verify that the data before the checkpoint are present 31# and the data after the checkpoint is gone. 32# 33 34verify_runnable "global" 35 36setup_test_pool 37log_onexit cleanup_test_pool 38populate_test_pool 39 40log_must zpool checkpoint $TESTPOOL 41 42test_change_state_after_checkpoint 43 44log_must zpool export $TESTPOOL 45log_must zpool import --rewind-to-checkpoint $TESTPOOL 46 47test_verify_pre_checkpoint_state 48 49log_pass "Rewind on a checkpointed pool." 50