[BACK]Return to t_grow.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_grow.sh (download)

Revision 1.8.24.1, Thu Aug 6 21:13:44 2015 UTC (5 years, 1 month 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.8: +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_grow.sh,v 1.8.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

# v0 == newfs -O0  (4.3BSD layout, ffsv1 superblock)
test_case grow_16M_v0_4096 resize_ffs 4096 512 32768 131072 0 28
test_case grow_16M_v0_8192 resize_ffs 8192 1024 32768 131072 0 28
test_case grow_16M_v0_16384 resize_ffs 16384 2048 32768 131072 0 29
test_case grow_16M_v0_32768 resize_ffs 32768 4096 32768 131072 0 28
test_case grow_16M_v0_65536 resize_ffs 65536 8192 32768 131072 0 26
# these grow_24M grow a smaller amount; sometimes there's different issues
test_case grow_24M_v0_4096 resize_ffs 4096 512 49152 65536 0 41
test_case grow_24M_v0_8192 resize_ffs 8192 1024 49152 65536 0 42
test_case grow_24M_v0_16384 resize_ffs 16384 2048 49152 65536 0 43
test_case grow_24M_v0_32768 resize_ffs 32768 4096 49152 65536 0 42
test_case grow_24M_v0_65536 resize_ffs 65536 8192 49152 65536 0 38
test_case grow_32M_v0_4096 resize_ffs 4096 512 65536 131072 0 55
test_case grow_32M_v0_8192 resize_ffs 8192 1024 65536 131072 0 56
test_case grow_32M_v0_16384 resize_ffs 16384 2048 65536 131072 0 58
test_case grow_32M_v0_32768 resize_ffs 32768 4096 65536 131072 0 56
test_case grow_32M_v0_65536 resize_ffs 65536 8192 65536 131072 0 51
test_case grow_48M_v0_4096 resize_ffs 4096 512 98304 131072 0 82
test_case grow_48M_v0_8192 resize_ffs 8192 1024 98304 131072 0 84
test_case grow_48M_v0_16384 resize_ffs 16384 2048 98304 131072 0 87
test_case grow_48M_v0_32768 resize_ffs 32768 4096 98304 131072 0 83
test_case grow_48M_v0_65536 resize_ffs 65536 8192 98304 131072 0 76
test_case grow_64M_v0_4096 resize_ffs 4096 512 131072 262144 0 109
test_case grow_64M_v0_8192 resize_ffs 8192 1024 131072 262144 0 111
test_case grow_64M_v0_16384 resize_ffs 16384 2048 131072 262144 0 115
test_case grow_64M_v0_32768 resize_ffs 32768 4096 131072 262144 0 111
test_case grow_64M_v0_65536 resize_ffs 65536 8192 131072 262144 0 101

# v1 == newfs -O1 (FFSv1, v2 superblock layout)
test_case grow_16M_v1_4096 resize_ffs 4096 512 32768 131072 1 28
test_case grow_16M_v1_8192 resize_ffs 8192 1024 32768 131072 1 28
test_case grow_16M_v1_16384 resize_ffs 16384 2048 32768 131072 1 29
test_case grow_16M_v1_32768 resize_ffs 32768 4096 32768 131072 1 28
test_case grow_16M_v1_65536 resize_ffs 65536 8192 32768 131072 1 26
# these grow_24M grow a smaller amount; sometimes there's different issues
test_case grow_24M_v1_4096 resize_ffs 4096 512 49152 65536 1 41
test_case grow_24M_v1_8192 resize_ffs 8192 1024 49152 65536 1 42
test_case grow_24M_v1_16384 resize_ffs 16384 2048 49152 65536 1 43
test_case grow_24M_v1_32768 resize_ffs 32768 4096 49152 65536 1 42
test_case grow_24M_v1_65536 resize_ffs 65536 8192 49152 65536 1 38
test_case grow_32M_v1_4096 resize_ffs 4096 512 65536 131072 1 55
test_case grow_32M_v1_8192 resize_ffs 8192 1024 65536 131072 1 56
test_case grow_32M_v1_16384 resize_ffs 16384 2048 65536 131072 1 58
test_case grow_32M_v1_32768 resize_ffs 32768 4096 65536 131072 1 56
test_case grow_32M_v1_65536 resize_ffs 65536 8192 65536 131072 1 51
test_case grow_48M_v1_4096 resize_ffs 4096 512 98304 131072 1 82
test_case grow_48M_v1_8192 resize_ffs 8192 1024 98304 131072 1 84
test_case grow_48M_v1_16384 resize_ffs 16384 2048 98304 131072 1 87
test_case grow_48M_v1_32768 resize_ffs 32768 4096 98304 131072 1 83
test_case grow_48M_v1_65536 resize_ffs 65536 8192 98304 131072 1 76
test_case grow_64M_v1_4096 resize_ffs 4096 512 131072 262144 1 109
test_case grow_64M_v1_8192 resize_ffs 8192 1024 131072 262144 1 111
test_case grow_64M_v1_16384 resize_ffs 16384 2048 131072 262144 1 115
test_case grow_64M_v1_32768 resize_ffs 32768 4096 131072 262144 1 111
test_case grow_64M_v1_65536 resize_ffs 65536 8192 131072 262144 1 101
test_case grow_16M_v2_4096 resize_ffs 4096 512 32768 131072 2 26
test_case grow_16M_v2_8192 resize_ffs 8192 1024 32768 131072 2 28
test_case grow_16M_v2_16384 resize_ffs 16384 2048 32768 131072 2 29
test_case grow_16M_v2_32768 resize_ffs 32768 4096 32768 131072 2 28
test_case grow_16M_v2_65536 resize_ffs 65536 8192 32768 131072 2 25
test_case grow_24M_v2_4096 resize_ffs 4096 512 49152 65536 2 40
test_case grow_24M_v2_8192 resize_ffs 8192 1024 49152 65536 2 42
test_case grow_24M_v2_16384 resize_ffs 16384 2048 49152 65536 2 43
test_case grow_24M_v2_32768 resize_ffs 32768 4096 49152 65536 2 42
test_case grow_24M_v2_65536 resize_ffs 65536 8192 49152 65536 2 38
test_case grow_32M_v2_4096 resize_ffs 4096 512 65536 131072 2 53
test_case grow_32M_v2_8192 resize_ffs 8192 1024 65536 131072 2 56
test_case grow_32M_v2_16384 resize_ffs 16384 2048 65536 131072 2 58
test_case grow_32M_v2_32768 resize_ffs 32768 4096 65536 131072 2 56
test_case grow_32M_v2_65536 resize_ffs 65536 8192 65536 131072 2 51
test_case grow_48M_v2_4096 resize_ffs 4096 512 98304 131072 2 80
test_case grow_48M_v2_8192 resize_ffs 8192 1024 98304 131072 2 84
test_case grow_48M_v2_16384 resize_ffs 16384 2048 98304 131072 2 87
test_case grow_48M_v2_32768 resize_ffs 32768 4096 98304 131072 2 83
test_case grow_48M_v2_65536 resize_ffs 65536 8192 98304 131072 2 76
test_case grow_64M_v2_4096 resize_ffs 4096 512 131072 262144 2 107
test_case grow_64M_v2_8192 resize_ffs 8192 1024 131072 262144 2 111
test_case grow_64M_v2_16384 resize_ffs 16384 2048 131072 262144 2 115
test_case grow_64M_v2_32768 resize_ffs 32768 4096 131072 262144 2 111
test_case grow_64M_v2_65536 resize_ffs 65536 8192 131072 262144 2 101

atf_test_case grow_ffsv1_partial_cg
grow_ffsv1_partial_cg_head()
{
	atf_set "descr" "Checks successful ffsv1 growth by less" \
			"than a cylinder group"
}
grow_ffsv1_partial_cg_body()
{
	echo "***resize_ffs grow test"

	# resize_ffs only supports ffsv1 at the moment
	atf_check -o ignore -e ignore newfs -V1 -s 4000 -F ${IMG}

	# size to grow to is chosen to cause partial cg
	atf_check -s exit:0 -o ignore resize_ffs -c -y -s 5760 ${IMG}
	atf_check -s exit:0 -o ignore resize_ffs -y -s 5760 ${IMG}
	atf_check -s exit:0 -o ignore fsck_ffs -f -n -F ${IMG}
	atf_check -s exit:1 -o ignore resize_ffs -c -y -s 5760 ${IMG}
}

atf_init_test_cases()
{
	setupvars
	atf_add_test_case grow_16M_v0_8192
	atf_add_test_case grow_16M_v1_16384
	atf_add_test_case grow_16M_v2_32768
if [ "${RESIZE_FFS_ALL_TESTS-X}" != "X" ]; then
	atf_add_test_case grow_16M_v0_4096
	atf_add_test_case grow_16M_v0_16384
	atf_add_test_case grow_16M_v0_32768
	atf_add_test_case grow_16M_v0_65536
	atf_add_test_case grow_16M_v1_4096
	atf_add_test_case grow_16M_v1_8192
	atf_add_test_case grow_16M_v1_32768
	atf_add_test_case grow_16M_v1_65536
	atf_add_test_case grow_16M_v2_4096
	atf_add_test_case grow_16M_v2_8192
	atf_add_test_case grow_16M_v2_16384
	atf_add_test_case grow_16M_v2_65536
	atf_add_test_case grow_24M_v0_4096
	atf_add_test_case grow_24M_v0_8192
	atf_add_test_case grow_24M_v0_16384
	atf_add_test_case grow_24M_v0_32768
	atf_add_test_case grow_24M_v0_65536
	atf_add_test_case grow_32M_v0_4096
	atf_add_test_case grow_32M_v0_8192
	atf_add_test_case grow_32M_v0_16384
	atf_add_test_case grow_32M_v0_32768
	atf_add_test_case grow_32M_v0_65536
	atf_add_test_case grow_48M_v0_4096
	atf_add_test_case grow_48M_v0_8192
	atf_add_test_case grow_48M_v0_16384
	atf_add_test_case grow_48M_v0_32768
	atf_add_test_case grow_48M_v0_65536
	atf_add_test_case grow_64M_v0_4096
	atf_add_test_case grow_64M_v0_8192
	atf_add_test_case grow_64M_v0_16384
	atf_add_test_case grow_64M_v0_32768
	atf_add_test_case grow_64M_v0_65536

	atf_add_test_case grow_24M_v1_4096
	atf_add_test_case grow_24M_v1_8192
	atf_add_test_case grow_24M_v1_16384
	atf_add_test_case grow_24M_v1_32768
	atf_add_test_case grow_24M_v1_65536
	atf_add_test_case grow_32M_v1_4096
	atf_add_test_case grow_32M_v1_8192
	atf_add_test_case grow_32M_v1_16384
	atf_add_test_case grow_32M_v1_32768
	atf_add_test_case grow_32M_v1_65536
	atf_add_test_case grow_48M_v1_4096
	atf_add_test_case grow_48M_v1_8192
	atf_add_test_case grow_48M_v1_16384
	atf_add_test_case grow_48M_v1_32768
	atf_add_test_case grow_48M_v1_65536
	atf_add_test_case grow_64M_v1_4096
	atf_add_test_case grow_64M_v1_8192
	atf_add_test_case grow_64M_v1_16384
	atf_add_test_case grow_64M_v1_32768
	atf_add_test_case grow_64M_v1_65536

	atf_add_test_case grow_24M_v2_4096
	atf_add_test_case grow_24M_v2_8192
	atf_add_test_case grow_24M_v2_16384
	atf_add_test_case grow_24M_v2_32768
	atf_add_test_case grow_24M_v2_65536
	atf_add_test_case grow_32M_v2_4096
	atf_add_test_case grow_32M_v2_8192
	atf_add_test_case grow_32M_v2_16384
	atf_add_test_case grow_32M_v2_32768
	atf_add_test_case grow_32M_v2_65536
	atf_add_test_case grow_48M_v2_4096
	atf_add_test_case grow_48M_v2_8192
	atf_add_test_case grow_48M_v2_16384
	atf_add_test_case grow_48M_v2_32768
	atf_add_test_case grow_48M_v2_65536
	atf_add_test_case grow_64M_v2_4096
	atf_add_test_case grow_64M_v2_8192
	atf_add_test_case grow_64M_v2_16384
	atf_add_test_case grow_64M_v2_32768
	atf_add_test_case grow_64M_v2_65536
fi
	atf_add_test_case grow_ffsv1_partial_cg
}