1*0a6a1f1dSLionel Sambuc# $NetBSD: t_shrink.sh,v 1.8 2015/03/29 19:37:02 chopps Exp $ 211be35a1SLionel Sambuc# 311be35a1SLionel Sambuc# Copyright (c) 2010 The NetBSD Foundation, Inc. 411be35a1SLionel Sambuc# All rights reserved. 511be35a1SLionel Sambuc# 611be35a1SLionel Sambuc# This code is derived from software contributed to The NetBSD Foundation 711be35a1SLionel Sambuc# by Jeffrey C. Rizzo. 811be35a1SLionel Sambuc# 911be35a1SLionel Sambuc# Redistribution and use in source and binary forms, with or without 1011be35a1SLionel Sambuc# modification, are permitted provided that the following conditions 1111be35a1SLionel Sambuc# are met: 1211be35a1SLionel Sambuc# 1. Redistributions of source code must retain the above copyright 1311be35a1SLionel Sambuc# notice, this list of conditions and the following disclaimer. 1411be35a1SLionel Sambuc# 2. Redistributions in binary form must reproduce the above copyright 1511be35a1SLionel Sambuc# notice, this list of conditions and the following disclaimer in the 1611be35a1SLionel Sambuc# documentation and/or other materials provided with the distribution. 1711be35a1SLionel Sambuc# 1811be35a1SLionel Sambuc# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 1911be35a1SLionel Sambuc# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 2011be35a1SLionel Sambuc# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 2111be35a1SLionel Sambuc# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 2211be35a1SLionel Sambuc# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2311be35a1SLionel Sambuc# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2411be35a1SLionel Sambuc# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2511be35a1SLionel Sambuc# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2611be35a1SLionel Sambuc# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2711be35a1SLionel Sambuc# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2811be35a1SLionel Sambuc# POSSIBILITY OF SUCH DAMAGE. 2911be35a1SLionel Sambuc# 3011be35a1SLionel Sambuc 3111be35a1SLionel Sambuc 3211be35a1SLionel Sambuc# resize_ffs params as follows: 3311be35a1SLionel Sambuc# resize_ffs blocksize fragsize fssize newfssize level numdata swap 3411be35a1SLionel Sambuc# where 'numdata' is the number of data directories to copy - this is 3511be35a1SLionel Sambuc# determined manually based on the maximum number that will fit in the 3611be35a1SLionel Sambuc# created fs. 'level' is the fs-level (-O 0,1,2) passed to newfs. 3711be35a1SLionel Sambuc# If 'swap' is included, byteswap the fs 3811be35a1SLionel Sambuctest_case shrink_24M_16M_v0_4096 resize_ffs 4096 512 49152 32768 0 41 3911be35a1SLionel Sambuctest_case shrink_24M_16M_v0_8192 resize_ffs 8192 1024 49152 32768 0 42 4011be35a1SLionel Sambuctest_case shrink_24M_16M_v0_16384 resize_ffs 16384 2048 49152 32768 0 43 4111be35a1SLionel Sambuctest_case shrink_24M_16M_v0_32768 resize_ffs 32768 4096 49152 32768 0 42 4211be35a1SLionel Sambuctest_case shrink_24M_16M_v0_65536 resize_ffs 65536 8192 49152 32768 0 38 4311be35a1SLionel Sambuctest_case shrink_32M_24M_v0_4096 resize_ffs 4096 512 65536 49152 0 55 4411be35a1SLionel Sambuctest_case shrink_32M_24M_v0_8192 resize_ffs 8192 1024 65536 49152 0 56 4511be35a1SLionel Sambuctest_case shrink_32M_24M_v0_16384 resize_ffs 16384 2048 65536 49152 0 58 4611be35a1SLionel Sambuctest_case shrink_32M_24M_v0_32768 resize_ffs 32768 4096 65536 49152 0 56 4711be35a1SLionel Sambuctest_case_xfail shrink_32M_24M_v0_65536 "PR bin/44204" resize_ffs 65536 8192 65536 49152 0 51 4811be35a1SLionel Sambuctest_case shrink_48M_16M_v0_4096 resize_ffs 4096 512 98304 32768 0 82 4911be35a1SLionel Sambuctest_case shrink_48M_16M_v0_8192 resize_ffs 8192 1024 98304 32768 0 84 5011be35a1SLionel Sambuctest_case shrink_48M_16M_v0_16384 resize_ffs 16384 2048 98304 32768 0 87 5111be35a1SLionel Sambuctest_case shrink_48M_16M_v0_32768 resize_ffs 32768 4096 98304 32768 0 83 5211be35a1SLionel Sambuctest_case shrink_48M_16M_v0_65536 resize_ffs 65536 8192 98304 32768 0 76 5311be35a1SLionel Sambuctest_case shrink_64M_48M_v0_4096 resize_ffs 4096 512 131072 98304 0 109 5411be35a1SLionel Sambuctest_case shrink_64M_48M_v0_8192 resize_ffs 8192 1024 131072 98304 0 111 5511be35a1SLionel Sambuctest_case shrink_64M_48M_v0_16384 resize_ffs 16384 2048 131072 98304 0 115 5611be35a1SLionel Sambuctest_case shrink_64M_48M_v0_32768 resize_ffs 32768 4096 131072 98304 0 111 5711be35a1SLionel Sambuctest_case shrink_64M_48M_v0_65536 resize_ffs 65536 8192 131072 98304 0 101 5811be35a1SLionel Sambuc 5911be35a1SLionel Sambuctest_case shrink_24M_16M_v1_4096 resize_ffs 4096 512 49152 32768 1 41 6011be35a1SLionel Sambuctest_case shrink_24M_16M_v1_8192 resize_ffs 8192 1024 49152 32768 1 42 6111be35a1SLionel Sambuctest_case shrink_24M_16M_v1_16384 resize_ffs 16384 2048 49152 32768 1 43 6211be35a1SLionel Sambuctest_case shrink_24M_16M_v1_32768 resize_ffs 32768 4096 49152 32768 1 42 6311be35a1SLionel Sambuctest_case shrink_24M_16M_v1_65536 resize_ffs 65536 8192 49152 32768 1 38 6411be35a1SLionel Sambuctest_case shrink_32M_24M_v1_4096 resize_ffs 4096 512 65536 49152 1 55 6511be35a1SLionel Sambuctest_case shrink_32M_24M_v1_8192 resize_ffs 8192 1024 65536 49152 1 56 6611be35a1SLionel Sambuctest_case shrink_32M_24M_v1_16384 resize_ffs 16384 2048 65536 49152 1 58 6711be35a1SLionel Sambuctest_case shrink_32M_24M_v1_32768 resize_ffs 32768 4096 65536 49152 1 56 6811be35a1SLionel Sambuctest_case_xfail shrink_32M_24M_v1_65536 "PR bin/44204" resize_ffs 65536 8192 65536 49152 1 51 6911be35a1SLionel Sambuctest_case shrink_48M_16M_v1_4096 resize_ffs 4096 512 98304 32768 1 82 7011be35a1SLionel Sambuctest_case shrink_48M_16M_v1_8192 resize_ffs 8192 1024 98304 32768 1 84 7111be35a1SLionel Sambuctest_case shrink_48M_16M_v1_16384 resize_ffs 16384 2048 98304 32768 1 87 7211be35a1SLionel Sambuctest_case shrink_48M_16M_v1_32768 resize_ffs 32768 4096 98304 32768 1 83 7311be35a1SLionel Sambuctest_case shrink_48M_16M_v1_65536 resize_ffs 65536 8192 98304 32768 1 76 7411be35a1SLionel Sambuctest_case shrink_64M_48M_v1_4096 resize_ffs 4096 512 131072 98304 1 109 7511be35a1SLionel Sambuctest_case shrink_64M_48M_v1_8192 resize_ffs 8192 1024 131072 98304 1 111 7611be35a1SLionel Sambuctest_case shrink_64M_48M_v1_16384 resize_ffs 16384 2048 131072 98304 1 115 7711be35a1SLionel Sambuctest_case shrink_64M_48M_v1_32768 resize_ffs 32768 4096 131072 98304 1 111 7811be35a1SLionel Sambuctest_case shrink_64M_48M_v1_65536 resize_ffs 65536 8192 131072 98304 1 101 7911be35a1SLionel Sambuc 8011be35a1SLionel Sambuctest_case_xfail shrink_24M_16M_v2_4096 "PR bin/44205" resize_ffs 4096 512 49152 32768 2 41 8111be35a1SLionel Sambuctest_case_xfail shrink_24M_16M_v2_8192 "PR bin/44205" resize_ffs 8192 1024 49152 32768 2 42 8211be35a1SLionel Sambuctest_case_xfail shrink_24M_16M_v2_16384 "PR bin/44205" resize_ffs 16384 2048 49152 32768 2 43 8311be35a1SLionel Sambuctest_case_xfail shrink_24M_16M_v2_32768 "PR bin/44205" resize_ffs 32768 4096 49152 32768 2 42 8411be35a1SLionel Sambuctest_case_xfail shrink_24M_16M_v2_65536 "PR bin/44205" resize_ffs 65536 8192 49152 32768 2 38 8511be35a1SLionel Sambuctest_case_xfail shrink_32M_24M_v2_4096 "PR bin/44205" resize_ffs 4096 512 65536 49152 2 55 8611be35a1SLionel Sambuctest_case_xfail shrink_32M_24M_v2_8192 "PR bin/44205" resize_ffs 8192 1024 65536 49152 2 56 8711be35a1SLionel Sambuctest_case_xfail shrink_32M_24M_v2_16384 "PR bin/44205" resize_ffs 16384 2048 65536 49152 2 58 8811be35a1SLionel Sambuctest_case_xfail shrink_32M_24M_v2_32768 "PR bin/44205" resize_ffs 32768 4096 65536 49152 2 56 8911be35a1SLionel Sambuctest_case_xfail shrink_32M_24M_v2_65536 "PR bin/44204" resize_ffs 65536 8192 65536 49152 2 51 9011be35a1SLionel Sambuctest_case_xfail shrink_48M_16M_v2_4096 "PR bin/44205" resize_ffs 4096 512 98304 32768 2 82 9111be35a1SLionel Sambuctest_case_xfail shrink_48M_16M_v2_8192 "PR bin/44205" resize_ffs 8192 1024 98304 32768 2 84 9211be35a1SLionel Sambuctest_case_xfail shrink_48M_16M_v2_16384 "PR bin/44205" resize_ffs 16384 2048 98304 32768 2 87 9311be35a1SLionel Sambuctest_case_xfail shrink_48M_16M_v2_32768 "PR bin/44205" resize_ffs 32768 4096 98304 32768 2 83 9411be35a1SLionel Sambuctest_case_xfail shrink_48M_16M_v2_65536 "PR bin/44205" resize_ffs 65536 8192 98304 32768 2 76 9511be35a1SLionel Sambuctest_case_xfail shrink_64M_48M_v2_4096 "PR bin/44205" resize_ffs 4096 512 131072 98304 2 109 9611be35a1SLionel Sambuctest_case_xfail shrink_64M_48M_v2_8192 "PR bin/44205" resize_ffs 8192 1024 131072 98304 2 111 9711be35a1SLionel Sambuctest_case_xfail shrink_64M_48M_v2_16384 "PR bin/44205" resize_ffs 16384 2048 131072 98304 2 115 9811be35a1SLionel Sambuctest_case_xfail shrink_64M_48M_v2_32768 "PR bin/44205" resize_ffs 32768 4096 131072 98304 2 111 9911be35a1SLionel Sambuctest_case_xfail shrink_64M_48M_v2_65536 "PR bin/44205" resize_ffs 65536 8192 131072 98304 2 101 10011be35a1SLionel Sambuc 10111be35a1SLionel Sambuc 10211be35a1SLionel Sambucatf_test_case shrink_ffsv1_partial_cg 10311be35a1SLionel Sambucshrink_ffsv1_partial_cg_head() 10411be35a1SLionel Sambuc{ 10511be35a1SLionel Sambuc atf_set "descr" "Checks successful shrinkage of ffsv1 by" \ 10611be35a1SLionel Sambuc "less than a cylinder group" 10711be35a1SLionel Sambuc} 10811be35a1SLionel Sambucshrink_ffsv1_partial_cg_body() 10911be35a1SLionel Sambuc{ 11011be35a1SLionel Sambuc echo "*** resize_ffs shrinkage partial cg test" 11111be35a1SLionel Sambuc 11211be35a1SLionel Sambuc atf_check -o ignore -e ignore newfs -V1 -F -s 5760 ${IMG} 11311be35a1SLionel Sambuc 11411be35a1SLionel Sambuc # shrink so there's a partial cg at the end 115*0a6a1f1dSLionel Sambuc atf_check -s exit:0 resize_ffs -c -s 4000 -y ${IMG} 11611be35a1SLionel Sambuc atf_check -s exit:0 resize_ffs -s 4000 -y ${IMG} 11711be35a1SLionel Sambuc atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG} 118*0a6a1f1dSLionel Sambuc atf_check -s exit:1 resize_ffs -c -s 4000 -y ${IMG} 11911be35a1SLionel Sambuc} 12011be35a1SLionel Sambuc 12111be35a1SLionel Sambucatf_init_test_cases() 12211be35a1SLionel Sambuc{ 12311be35a1SLionel Sambuc setupvars 12411be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v0_32768 12511be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v1_65536 12611be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v2_4096 12711be35a1SLionel Sambucif [ "${RESIZE_FFS_ALL_TESTS-X}" != "X" ]; then 12811be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v0_4096 12911be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v0_8192 13011be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v0_16384 13111be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v0_65536 13211be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v1_4096 13311be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v1_8192 13411be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v1_16384 13511be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v1_32768 13611be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v2_8192 13711be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v2_16384 13811be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v2_32768 13911be35a1SLionel Sambuc atf_add_test_case shrink_24M_16M_v2_65536 14011be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v0_4096 14111be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v0_8192 14211be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v0_16384 14311be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v0_32768 14411be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v0_65536 14511be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v0_4096 14611be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v0_8192 14711be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v0_16384 14811be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v0_32768 14911be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v0_65536 15011be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v0_4096 15111be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v0_8192 15211be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v0_16384 15311be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v0_32768 15411be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v0_65536 15511be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v1_4096 15611be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v1_8192 15711be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v1_16384 15811be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v1_32768 15911be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v1_65536 16011be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v1_4096 16111be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v1_8192 16211be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v1_16384 16311be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v1_32768 16411be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v1_65536 16511be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v1_4096 16611be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v1_8192 16711be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v1_16384 16811be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v1_32768 16911be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v1_65536 17011be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v2_4096 17111be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v2_8192 17211be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v2_16384 17311be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v2_32768 17411be35a1SLionel Sambuc atf_add_test_case shrink_32M_24M_v2_65536 17511be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v2_4096 17611be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v2_8192 17711be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v2_16384 17811be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v2_32768 17911be35a1SLionel Sambuc atf_add_test_case shrink_48M_16M_v2_65536 18011be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v2_4096 18111be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v2_8192 18211be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v2_16384 18311be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v2_32768 18411be35a1SLionel Sambuc atf_add_test_case shrink_64M_48M_v2_65536 18511be35a1SLionel Sambucfi 18611be35a1SLionel Sambuc atf_add_test_case shrink_ffsv1_partial_cg 18711be35a1SLionel Sambuc} 188