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