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 2016 Nexenta Systems, Inc. All rights reserved.
  16 #
  17 
  18 . $STF_SUITE/tests/functional/wbc/wbc.cfg
  19 . $STF_SUITE/tests/functional/wbc/wbc.kshlib
  20 
  21 #
  22 # DESCRIPTION:
  23 #       Non-redundant special vdev can not be detached from existing pool
  24 #
  25 # STRATEGY:
  26 #       1. Create pool with separated wbc devices and enabled/disabled write
  27 #          back cache
  28 #       2. Display pool status
  29 #       3. Try to detach non-redundant special vdev
  30 #       4. Verify failed to detach
  31 #
  32 
  33 verify_runnable "global"
  34 log_assert "Non-redundant special vdev can not be detached."
  35 log_onexit cleanup
  36 for wbc_mode in "none" "on" ; do
  37         log_must create_pool_special $TESTPOOL $wbc_mode "stripe" "stripe"
  38         log_must display_status $TESTPOOL
  39         log_mustnot zpool detach $TESTPOOL $SSD_DISK1
  40         log_must zpool scrub $TESTPOOL
  41         while is_pool_scrubbing $TESTPOOL ; do
  42                 sleep 1
  43         done
  44         log_must check_pool_errors $TESTPOOL
  45         log_must destroy_pool $TESTPOOL
  46 done
  47 log_pass "Non-redundant special vdev can not be detached."