xref: /freebsd/tools/test/stress2/misc/datamove6.sh (revision ef777be98543f7daae90bd123d4fc1ec4a54efc2)
1*ef777be9SPeter Holm#!/bin/sh
2*ef777be9SPeter Holm
3*ef777be9SPeter Holm#
4*ef777be9SPeter Holm# Copyright (c) 2025 Peter Holm <pho@FreeBSD.org>
5*ef777be9SPeter Holm#
6*ef777be9SPeter Holm# SPDX-License-Identifier: BSD-2-Clause
7*ef777be9SPeter Holm#
8*ef777be9SPeter Holm
9*ef777be9SPeter Holm# Variation of the datamove.sh, using MSDOSFS
10*ef777be9SPeter Holm
11*ef777be9SPeter Holm# No problems seen
12*ef777be9SPeter Holm
13*ef777be9SPeter Holm[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
14*ef777be9SPeter Holm
15*ef777be9SPeter Holm. ../default.cfg
16*ef777be9SPeter Holm
17*ef777be9SPeter Holmhere=`pwd`
18*ef777be9SPeter Holmprog=$(basename "$0" .sh)
19*ef777be9SPeter Holmcd /tmp
20*ef777be9SPeter Holmsed '1,/^EOF/d' < $here/datamove.sh > $prog.c
21*ef777be9SPeter Holmmycc -o $prog -Wall -Wextra -O2 -g $prog.c
22*ef777be9SPeter Holmrm -f $prog.c
23*ef777be9SPeter Holm
24*ef777be9SPeter Holmset -eu
25*ef777be9SPeter Holmmount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint
26*ef777be9SPeter Holm[ -c /dev/md$mdstart ] &&  mdconfig -d -u $mdstart
27*ef777be9SPeter Holmmdconfig -a -t swap -s 2g -u $mdstart
28*ef777be9SPeter Holmnewfs_msdos -F 32 -b 8192 /dev/md$mdstart 2> /dev/null
29*ef777be9SPeter Holm#mount -t msdosfs /dev/md$mdstart $mntpoint
30*ef777be9SPeter Holmmount_msdosfs -m 777 /dev/md$mdstart $mntpoint
31*ef777be9SPeter Holmset +e
32*ef777be9SPeter Holm
33*ef777be9SPeter Holm$here/../testcases/swap/swap -t 5m -i 100 -h &
34*ef777be9SPeter Holmfor i in `jot 5`; do
35*ef777be9SPeter Holm	su $testuser -c "cd $mntpoint; /tmp/$prog"
36*ef777be9SPeter Holmdone
37*ef777be9SPeter Holmmv /tmp/$prog $mntpoint
38*ef777be9SPeter Holmfor i in `jot 5`; do
39*ef777be9SPeter Holm	mkdir -p $mntpoint/datamove.dir.$i
40*ef777be9SPeter Holm	cd $mntpoint/datamove.dir.$i
41*ef777be9SPeter Holm	$mntpoint/$prog &
42*ef777be9SPeter Holmdone
43*ef777be9SPeter Holmpkill swap
44*ef777be9SPeter Holmwait
45*ef777be9SPeter Holmwhile mount | grep -q $mntpoint; do
46*ef777be9SPeter Holm	umount -f $mntpoint > /dev/null 2>&1
47*ef777be9SPeter Holmdone
48*ef777be9SPeter Holmmdconfig -d -u $mdstart
49*ef777be9SPeter Holm
50*ef777be9SPeter Holmexit 0
51