[BACK]Return to t_shrink.sh CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / tests / sbin / resize_ffs

File: [cvs.NetBSD.org] / src / tests / sbin / resize_ffs / t_shrink.sh (download)

Revision 1.7.24.1, Thu Aug 6 21:13:44 2015 UTC (5 years ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Changes since 1.7: +3 -1 lines

Pull up following revision(s) (requested by skrll in ticket #909):
	distrib/sets/lists/etc/mi: revision 1.237
	distrib/sets/lists/tests/mi: revision 1.613
	distrib/utils/embedded/conf/armv7.conf: revisions 1.1, 1.2
	distrib/utils/embedded/conf/beagleboard.conf: delete
	distrib/utils/embedded/conf/evbarm.conf: revisions 1.21, 1.22
	distrib/utils/embedded/conf/rpi.conf: revisions 1.28, 1.29
	distrib/utils/embedded/conf/rpi_inst.conf: revisions 1.7, 1.8
	distrib/utils/embedded/conf/usermode.conf: revision 1.5
	distrib/utils/embedded/conf/x86.conf: revision 1.5
	distrib/utils/embedded/files/resize_disklabel: revision 1.1
	distrib/utils/embedded/mkimage: revisions 1.49, 1.55-1.59
	etc/defaults/rc.conf: revision 1.133
	etc/etc.evbarm/Makefile.inc: revisions 1.72, 1.76
	etc/rc.d/Makefile: revision 1.93 via patch
	etc/rc.d/resize_root: revisions 1.1-1.3
	etc/rc.d/root: revision 1.5
	sbin/resize_ffs/Makefile: revision 1.5
	sbin/resize_ffs/resize_ffs.8: revisions 1.14-1.16
	sbin/resize_ffs/resize_ffs.c: revisions 1.39-1.44
	share/man/man5/rc.conf.5: revision 1.158, 1.159
	tests/sbin/resize_ffs/Makefile: revision 1.4
	tests/sbin/resize_ffs/common.sh: revision 1.14
	tests/sbin/resize_ffs/t_check.sh: revision 1.1
	tests/sbin/resize_ffs/t_grow.sh: revision 1.9
	tests/sbin/resize_ffs/t_grow_swapped.sh: revision 1.3
	tests/sbin/resize_ffs/t_shrink.sh: revision 1.8
	tests/sbin/resize_ffs/t_shrink_swapped.sh: revision 1.2
fix image building:
         - round up the total size of the disk image
         - fix fdisk offset for netbsd ffs images
--
Make get_dev_size work on regular files too.
--
Use `!= -1' instead of `== 0' out of paranoia.
--
- Add -c to check to see if grow/shrink is required
- Divide by DEV_BSIZE when returning size of file.
- Update manpage
--
New sentence, new line. Sort option descriptions.
--
Add resize_root boot operation. If resize_root=YES in rc.conf then
the system attempts to resize the root file system to fill it's
partition prior to mounting read-write. Useful for things like AMI
file system images. May eventually be used by arm images after
coming up with similar solution for increasing the parition size.
--
- Add new tests for -c check flag in resize_ffs
--
Bump date for previous.
it's -> its
--
Handle case in grow() where last cylinder group is too small for ufs2.
Align with code in shrink().
--
factor out geometry calculation and use this also in CheckOnly mode.
be a bit more verbose in Verbose mode.
--
Add support for auto-growing the root partition. Enable it for rpi.img.
--
initialize resize before pulling in board config
--
add KEYWORD: interactive, honour resize_root_flags and
resize_root_postcmd rc vars
--
if the -p flag is specified, display a progress bar while growing the
file-system
--
show resize_ffs progress bar when resizing root partition
--
fix typo in previous; pass -y unconditionally to resize_ffs, not -p
--
Rename beagleboard.img to armv7.img. The new image includes the same
kernels as beagleboard.img plus support for Raspberry Pi 2, ODROID-C1,
Cubieboard2, Cubietruck, Hummingbird A31, and Banana Pi.
--
Properly spell X' name. From X(7):
        The  X.Org  Foundation  requests  that the following names be
used when
        referring to this software:
                                           X
                                    X Window System
                                     X Version 11
                              X Window System, Version 11
                                          X11
--
Add some documentation:
Tell what this does, and what it expects from conf files
--
Cleanup: make_filesystems is not used any longer, purge remains
--
More cleanup:
Instead of first overwriting the *_evbarm functions with own code,
and then calling them from the regular functions, directly put the
code into the regular functions.
No more functions from evbarm.conf are used now.
Some variables are still used!
--
define TOOL_MKUBOOTIMAGE for mkimage
--
fix mkubootimage

# $NetBSD: t_shrink.sh,v 1.7.24.1 2015/08/06 21:13:44 snj Exp $
#
# Copyright (c) 2010 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Jeffrey C. Rizzo.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#


# resize_ffs params as follows:
# resize_ffs blocksize fragsize fssize newfssize level numdata swap
# where 'numdata' is the number of data directories to copy - this is
# determined manually based on the maximum number that will fit in the
# created fs.  'level' is the fs-level (-O 0,1,2) passed to newfs.
# If 'swap' is included, byteswap the fs
test_case shrink_24M_16M_v0_4096 resize_ffs 4096 512 49152 32768 0 41
test_case shrink_24M_16M_v0_8192 resize_ffs 8192 1024 49152 32768 0 42
test_case shrink_24M_16M_v0_16384 resize_ffs 16384 2048 49152 32768 0 43
test_case shrink_24M_16M_v0_32768 resize_ffs 32768 4096 49152 32768 0 42
test_case shrink_24M_16M_v0_65536 resize_ffs 65536 8192 49152 32768 0 38
test_case shrink_32M_24M_v0_4096 resize_ffs 4096 512 65536 49152 0 55
test_case shrink_32M_24M_v0_8192 resize_ffs 8192 1024 65536 49152 0 56
test_case shrink_32M_24M_v0_16384 resize_ffs 16384 2048 65536 49152 0 58
test_case shrink_32M_24M_v0_32768 resize_ffs 32768 4096 65536 49152 0 56
test_case_xfail shrink_32M_24M_v0_65536 "PR bin/44204" resize_ffs 65536 8192 65536 49152 0 51
test_case shrink_48M_16M_v0_4096 resize_ffs 4096 512 98304 32768 0 82
test_case shrink_48M_16M_v0_8192 resize_ffs 8192 1024 98304 32768 0 84
test_case shrink_48M_16M_v0_16384 resize_ffs 16384 2048 98304 32768 0 87
test_case shrink_48M_16M_v0_32768 resize_ffs 32768 4096 98304 32768 0 83
test_case shrink_48M_16M_v0_65536 resize_ffs 65536 8192 98304 32768 0 76
test_case shrink_64M_48M_v0_4096 resize_ffs 4096 512 131072 98304 0 109
test_case shrink_64M_48M_v0_8192 resize_ffs 8192 1024 131072 98304 0 111
test_case shrink_64M_48M_v0_16384 resize_ffs 16384 2048 131072 98304 0 115
test_case shrink_64M_48M_v0_32768 resize_ffs 32768 4096 131072 98304 0 111
test_case shrink_64M_48M_v0_65536 resize_ffs 65536 8192 131072 98304 0 101

test_case shrink_24M_16M_v1_4096 resize_ffs 4096 512 49152 32768 1 41
test_case shrink_24M_16M_v1_8192 resize_ffs 8192 1024 49152 32768 1 42
test_case shrink_24M_16M_v1_16384 resize_ffs 16384 2048 49152 32768 1 43
test_case shrink_24M_16M_v1_32768 resize_ffs 32768 4096 49152 32768 1 42
test_case shrink_24M_16M_v1_65536 resize_ffs 65536 8192 49152 32768 1 38
test_case shrink_32M_24M_v1_4096 resize_ffs 4096 512 65536 49152 1 55
test_case shrink_32M_24M_v1_8192 resize_ffs 8192 1024 65536 49152 1 56
test_case shrink_32M_24M_v1_16384 resize_ffs 16384 2048 65536 49152 1 58
test_case shrink_32M_24M_v1_32768 resize_ffs 32768 4096 65536 49152 1 56
test_case_xfail shrink_32M_24M_v1_65536 "PR bin/44204" resize_ffs 65536 8192 65536 49152 1 51
test_case shrink_48M_16M_v1_4096 resize_ffs 4096 512 98304 32768 1 82
test_case shrink_48M_16M_v1_8192 resize_ffs 8192 1024 98304 32768 1 84
test_case shrink_48M_16M_v1_16384 resize_ffs 16384 2048 98304 32768 1 87
test_case shrink_48M_16M_v1_32768 resize_ffs 32768 4096 98304 32768 1 83
test_case shrink_48M_16M_v1_65536 resize_ffs 65536 8192 98304 32768 1 76
test_case shrink_64M_48M_v1_4096 resize_ffs 4096 512 131072 98304 1 109
test_case shrink_64M_48M_v1_8192 resize_ffs 8192 1024 131072 98304 1 111
test_case shrink_64M_48M_v1_16384 resize_ffs 16384 2048 131072 98304 1 115
test_case shrink_64M_48M_v1_32768 resize_ffs 32768 4096 131072 98304 1 111
test_case shrink_64M_48M_v1_65536 resize_ffs 65536 8192 131072 98304 1 101

test_case_xfail shrink_24M_16M_v2_4096 "PR bin/44205" resize_ffs 4096 512 49152 32768 2 41
test_case_xfail shrink_24M_16M_v2_8192 "PR bin/44205" resize_ffs 8192 1024 49152 32768 2 42
test_case_xfail shrink_24M_16M_v2_16384 "PR bin/44205" resize_ffs 16384 2048 49152 32768 2 43
test_case_xfail shrink_24M_16M_v2_32768 "PR bin/44205" resize_ffs 32768 4096 49152 32768 2 42
test_case_xfail shrink_24M_16M_v2_65536 "PR bin/44205" resize_ffs 65536 8192 49152 32768 2 38
test_case_xfail shrink_32M_24M_v2_4096 "PR bin/44205" resize_ffs 4096 512 65536 49152 2 55
test_case_xfail shrink_32M_24M_v2_8192 "PR bin/44205" resize_ffs 8192 1024 65536 49152 2 56
test_case_xfail shrink_32M_24M_v2_16384 "PR bin/44205" resize_ffs 16384 2048 65536 49152 2 58
test_case_xfail shrink_32M_24M_v2_32768 "PR bin/44205" resize_ffs 32768 4096 65536 49152 2 56
test_case_xfail shrink_32M_24M_v2_65536 "PR bin/44204" resize_ffs 65536 8192 65536 49152 2 51
test_case_xfail shrink_48M_16M_v2_4096 "PR bin/44205" resize_ffs 4096 512 98304 32768 2 82
test_case_xfail shrink_48M_16M_v2_8192 "PR bin/44205" resize_ffs 8192 1024 98304 32768 2 84
test_case_xfail shrink_48M_16M_v2_16384 "PR bin/44205" resize_ffs 16384 2048 98304 32768 2 87
test_case_xfail shrink_48M_16M_v2_32768 "PR bin/44205" resize_ffs 32768 4096 98304 32768 2 83
test_case_xfail shrink_48M_16M_v2_65536 "PR bin/44205" resize_ffs 65536 8192 98304 32768 2 76
test_case_xfail shrink_64M_48M_v2_4096 "PR bin/44205" resize_ffs 4096 512 131072 98304 2 109
test_case_xfail shrink_64M_48M_v2_8192 "PR bin/44205" resize_ffs 8192 1024 131072 98304 2 111
test_case_xfail shrink_64M_48M_v2_16384 "PR bin/44205" resize_ffs 16384 2048 131072 98304 2 115
test_case_xfail shrink_64M_48M_v2_32768 "PR bin/44205" resize_ffs 32768 4096 131072 98304 2 111
test_case_xfail shrink_64M_48M_v2_65536 "PR bin/44205" resize_ffs 65536 8192 131072 98304 2 101


atf_test_case shrink_ffsv1_partial_cg
shrink_ffsv1_partial_cg_head()
{
	atf_set "descr" "Checks successful shrinkage of ffsv1 by" \
			"less than a cylinder group"
}
shrink_ffsv1_partial_cg_body()
{
	echo "*** resize_ffs shrinkage partial cg test"

	atf_check -o ignore -e ignore newfs -V1 -F -s 5760 ${IMG}

	# shrink so there's a partial cg at the end
	atf_check -s exit:0 resize_ffs -c -s 4000 -y ${IMG}
	atf_check -s exit:0 resize_ffs -s 4000 -y ${IMG}
	atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
	atf_check -s exit:1 resize_ffs -c -s 4000 -y ${IMG}
}

atf_init_test_cases()
{
	setupvars
	atf_add_test_case shrink_24M_16M_v0_32768
	atf_add_test_case shrink_24M_16M_v1_65536
	atf_add_test_case shrink_24M_16M_v2_4096
if [ "${RESIZE_FFS_ALL_TESTS-X}" != "X" ]; then
	atf_add_test_case shrink_24M_16M_v0_4096
	atf_add_test_case shrink_24M_16M_v0_8192
	atf_add_test_case shrink_24M_16M_v0_16384
	atf_add_test_case shrink_24M_16M_v0_65536
	atf_add_test_case shrink_24M_16M_v1_4096
	atf_add_test_case shrink_24M_16M_v1_8192
	atf_add_test_case shrink_24M_16M_v1_16384
	atf_add_test_case shrink_24M_16M_v1_32768
	atf_add_test_case shrink_24M_16M_v2_8192
	atf_add_test_case shrink_24M_16M_v2_16384
	atf_add_test_case shrink_24M_16M_v2_32768
	atf_add_test_case shrink_24M_16M_v2_65536
	atf_add_test_case shrink_32M_24M_v0_4096
	atf_add_test_case shrink_32M_24M_v0_8192
	atf_add_test_case shrink_32M_24M_v0_16384
	atf_add_test_case shrink_32M_24M_v0_32768
	atf_add_test_case shrink_32M_24M_v0_65536
	atf_add_test_case shrink_48M_16M_v0_4096
	atf_add_test_case shrink_48M_16M_v0_8192
	atf_add_test_case shrink_48M_16M_v0_16384
	atf_add_test_case shrink_48M_16M_v0_32768
	atf_add_test_case shrink_48M_16M_v0_65536
	atf_add_test_case shrink_64M_48M_v0_4096
	atf_add_test_case shrink_64M_48M_v0_8192
	atf_add_test_case shrink_64M_48M_v0_16384
	atf_add_test_case shrink_64M_48M_v0_32768
	atf_add_test_case shrink_64M_48M_v0_65536
	atf_add_test_case shrink_32M_24M_v1_4096
	atf_add_test_case shrink_32M_24M_v1_8192
	atf_add_test_case shrink_32M_24M_v1_16384
	atf_add_test_case shrink_32M_24M_v1_32768
	atf_add_test_case shrink_32M_24M_v1_65536
	atf_add_test_case shrink_48M_16M_v1_4096
	atf_add_test_case shrink_48M_16M_v1_8192
	atf_add_test_case shrink_48M_16M_v1_16384
	atf_add_test_case shrink_48M_16M_v1_32768
	atf_add_test_case shrink_48M_16M_v1_65536
	atf_add_test_case shrink_64M_48M_v1_4096
	atf_add_test_case shrink_64M_48M_v1_8192
	atf_add_test_case shrink_64M_48M_v1_16384
	atf_add_test_case shrink_64M_48M_v1_32768
	atf_add_test_case shrink_64M_48M_v1_65536
	atf_add_test_case shrink_32M_24M_v2_4096
	atf_add_test_case shrink_32M_24M_v2_8192
	atf_add_test_case shrink_32M_24M_v2_16384
	atf_add_test_case shrink_32M_24M_v2_32768
	atf_add_test_case shrink_32M_24M_v2_65536
	atf_add_test_case shrink_48M_16M_v2_4096
	atf_add_test_case shrink_48M_16M_v2_8192
	atf_add_test_case shrink_48M_16M_v2_16384
	atf_add_test_case shrink_48M_16M_v2_32768
	atf_add_test_case shrink_48M_16M_v2_65536
	atf_add_test_case shrink_64M_48M_v2_4096
	atf_add_test_case shrink_64M_48M_v2_8192
	atf_add_test_case shrink_64M_48M_v2_16384
	atf_add_test_case shrink_64M_48M_v2_32768
	atf_add_test_case shrink_64M_48M_v2_65536
fi
	atf_add_test_case shrink_ffsv1_partial_cg
}