File: xfs_mkfile.sh

package info (click to toggle)
xfsprogs 2.9.8-1lenny1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 5,512 kB
  • ctags: 9,344
  • sloc: ansic: 92,865; makefile: 765; sh: 639
file content (53 lines) | stat: -rwxr-xr-x 1,007 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/sh -f
#
# 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