We want to generalize mounts similar to how we do it already in
minix/mkfs. Currently most of our other checks just fail if
"fs not supported".
Note that the new function checks a bit stronger than before in
minix/mkfs. It respects mount's return value and stderr goes
to $TS_OUTPUT too.
It's a bit ugly that we write to $TS_OUTPUT from inside of the
function. But if the caller would do it then we couldn't
ts_skip and the whole function would be pointless.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
return $?
}
+function ts_mount {
+ local out
+ local result
+ local msg
+
+ out=$($TS_CMD_MOUNT "$@" 2>&1)
+ result=$?
+ echo -n "$out" >> $TS_OUTPUT
+
+ if [ $result != 0 ]; then
+ msg=$(echo "$out" | grep -m1 "unknown filesystem type") \
+ && ts_skip "$msg"
+ fi
+ return $result
+}
+
function ts_is_mounted {
local DEV=$(ts_canonicalize "$1")
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_log "mount the filesystem"
-($TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT || true) \
- | grep -q "unknown filesystem type" && ts_skip "mkfs: minix fs not supported by kernel"
+ts_mount $DEVICE $TS_MOUNTPOINT
# check it
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts" $DEVICE