#!/bin/bash

# This file is part of util-linux.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

TS_TOPDIR="${0%/*}/../.."
TS_DESC="fallocate"

. $TS_TOPDIR/functions.sh
ts_init "$*"

ts_check_test_command "$TS_CMD_FALLOCATE"
ts_check_test_command "$TS_CMD_FINDMNT"

IMAGE=${TS_OUTDIR}/${TS_TESTNAME}.file
rm -f $IMAGE

if $TS_CMD_FALLOCATE -o 128 -l 256 $IMAGE > $TS_OUTPUT 2>&1; then
	stat -c "%s" $IMAGE >> $TS_OUTPUT 2>&1
else
	# fs type of $TS_OUTDIR, could be used to skip this test early
	fs_type=$(${TS_CMD_FINDMNT} -n -o FSTYPE -T ${TS_OUTDIR})

	grep -qi "fallocate: fallocate failed:.*not supported" $TS_OUTPUT \
		&& ts_skip "'${fs_type}' not supported"
fi

rm -f $IMAGE

ts_finalize
