#!/bin/bash

#
# test for mount --move and --bind
#

. commands.sh
. functions.sh

TS_COMPONENT="mount"
TS_DESC="move "

ts_init "$*"
ts_skip_nonroot

PWD=$(pwd)

DIR_SRC="$PWD/$TS_OUTDIR/mnt-move-src"
DIR_A="$PWD/$TS_OUTDIR/mnt-move-A"
DIR_B="$PWD/$TS_OUTDIR/mnt-move-B"

[ -d $DIR_SRC ] || mkdir $DIR_SRC
[ -d $DIR_A ] || mkdir $DIR_A
[ -d $DIR_B ] || mkdir $DIR_B

# bind
$TS_CMD_MOUNT --bind $DIR_SRC $DIR_A

# check the bind
egrep -q "^$DIR_SRC $DIR_A" /etc/mtab
[ "$?" == "0" ] || ts_die "Cannot found binded $DIR_SRC in /etc/mtab"

# move
$TS_CMD_MOUNT --move $DIR_A $DIR_B

# check the move
egrep -q "^$DIR_SRC $DIR_B" /etc/mtab
if [ "$?" != "0" ]; then
	$TS_CMD_UMOUNT $DIR_SRC
	ts_die "Cannot found moved $DIR_SRC in /etc/mtab"
fi

# clean up
$TS_CMD_UMOUNT $DIR_SRC
rmdir $DIR_SRC $DIR_A $DIR_B

ts_log "Success"
ts_finalize

