version 1.2, 2016/07/29 20:27:37 |
version 1.2.2.1, 2017/04/21 16:54:10 |
|
|
# Verify basic operation of fss(4) file system snapshot device |
# Verify basic operation of fss(4) file system snapshot device |
# |
# |
|
|
|
vnddev=vnd0 |
|
rawpart=$( sysctl -n kern.rawpartition | tr '01234' 'abcde' ) |
|
vnd=/dev/${vnddev}${rawpart} |
|
|
orig_data="Original data" |
orig_data="Original data" |
repl_data="Replacement data" |
repl_data="Replacement data" |
|
|
atf_test_case basic cleanup |
atf_test_case basic cleanup |
basic_body() { |
basic_body() { |
|
|
|
# verify fss is available (or loadable as a module) |
|
|
|
fssconfig -l /dev/fss0 > /dev/null || atf_skip "FSS not available" |
|
|
# create of mount-points for the file system and snapshot |
# create of mount-points for the file system and snapshot |
|
|
mkdir ./m1 |
mkdir ./m1 |
|
|
# and mount it |
# and mount it |
|
|
dd if=/dev/zero of=./image bs=32k count=64 |
dd if=/dev/zero of=./image bs=32k count=64 |
vndconfig -c vnd0 ./image |
vndconfig -c ${vnddev} ./image |
newfs /dev/vnd0a |
newfs -I ${vnd} |
mount /dev/vnd0a ./m1 |
mount ${vnd} ./m1 |
|
|
echo "${orig_data}" > ./m1/text |
echo "${orig_data}" > ./m1/text |
|
|
|
|
|
|
read test_data < ./m2/text |
read test_data < ./m2/text |
atf_check_equal "${orig_data}" "${test_data}" |
atf_check_equal "${orig_data}" "${test_data}" |
|
|
# Unmount our temporary stuff |
|
|
|
umount /dev/fss0 || true |
|
fssconfig -u fss0 || true |
|
umount /dev/vnd0a || true |
|
vndconfig -u vnd0 || true |
|
} |
} |
|
|
basic_cleanup() { |
basic_cleanup() { |
umount /dev/vnd0a || true |
# Unmount our temporary stuff |
|
umount ${vnd} || true |
fssconfig -u fss0 || true |
fssconfig -u fss0 || true |
umount /dev/fss0 || true |
umount /dev/fss0 || true |
vndconfig -u vnd0 || true |
vndconfig -u ${vnddev} || true |
} |
} |
|
|
atf_init_test_cases() |
atf_init_test_cases() |