blob: fbeb7a98e2111406649749b6e231cd0745041e70 [file] [log] [blame]
#!/bin/sh -f
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved.
#
OPTS=""
NOBYTES=false
PREALLOC=false
VERBOSE=false
VERSION=false
XFS_IO=`dirname $0`"/xfs_io -p xfs_mkfile"
USAGE="Usage: xfs_mkfile [-npvV] size file..."
while getopts "npvV" c
do
case $c in
n) NOBYTES=true;;
p) PREALLOC=true;;
v) VERBOSE=true;;
V) VERSION=true;;
\?) echo $USAGE 1>&2
exit 2
;;
esac
done
$VERSION && $XFS_IO -V
shift `expr $OPTIND - 1`
[ "$1" != "" ] || exit 0
SIZE="$1"
ERRORS=0
shift
while [ "$1" != "" ]
do
if $VERBOSE ; then
$PREALLOC && echo "$1 $SIZE bytes pre-allocated"
$PREALLOC || echo "$1 $SIZE bytes"
fi
if $NOBYTES ; then
$XFS_IO -ft -c "truncate $SIZE" -- "$1"
elif $PREALLOC ; then
$XFS_IO -ftd -c "resvsp 0 $SIZE" \
-c "pwrite -q -S0 -b256k 0 $SIZE" \
-c "truncate $SIZE" -- "$1"
else
$XFS_IO -ftd -c "pwrite -q -S0 -b256k 0 $SIZE" \
-c "truncate $SIZE" -- "$1"
fi
[ $? -eq 0 ] || ERRORS=`expr $ERRORS + 1`
shift
done
exit $ERRORS