if [ "$FSTYP" == "xfs" -o "$FSTYP" == "udf" ]; then
MAX_ATTRS=1000
else # Assume max ~1 block of attrs
- BLOCK_SIZE=`stat -f $TEST_DIR | grep "Block size" | cut -d " " -f3`
+ BLOCK_SIZE=`get_block_size $TEST_DIR`
# user.attribute_XXX="value.XXX" is about 32 bytes; leave some overhead
let MAX_ATTRS=$BLOCK_SIZE/40
fi
if [ "$FSTYP" == "xfs" -o "$FSTYP" == "udf" -o "$FSTYP" == "btrfs" ]; then
MAX_ATTRVAL_SIZE=64
else # Assume max ~1 block of attrs
- BLOCK_SIZE=`stat -f $TEST_DIR | grep "Block size" | cut -d " " -f3`
+ BLOCK_SIZE=`get_block_size $TEST_DIR`
# leave a little overhead
let MAX_ATTRVAL_SIZE=$BLOCK_SIZE-256
fi
if [ "$remove_testfile" ]; then
rm -f $testfile
fi
- block_size=`stat -f $TEST_DIR | grep "Block size" | cut -d " " -f3`
+ block_size=`get_block_size $TEST_DIR`
$XFS_IO_PROG -f -c "truncate $block_size" \
-c "pwrite 0 $block_size" $sync_cmd \
-c "$zero_cmd 128 128" \
echo `basename $(_real_dev $1)`
}
+get_block_size()
+{
+ if [ -z $1 ] || [ ! -d $1 ]; then
+ echo "Missing mount point argument for get_block_size"
+ exit 1
+ fi
+ echo `stat -f -c %S $1`
+}
+
init_rc
################################################################################
rm -f $TEST_DIR/aiodio_sparse
logical_block_size=`_min_dio_alignment $TEST_DEV`
-fs_block_size=`stat -f $TEST_DIR | grep "Block size:" | awk '{print $3}'`
+fs_block_size=`get_block_size $TEST_DIR`
file_size=$((8 * $fs_block_size))
if [ $fs_block_size -le $logical_block_size ]; then
# Test must be able to write files with non-root permissions
chmod 777 $SCRATCH_MNT
-block_size=`stat -f $SCRATCH_DEV | grep "Block size" | cut -d " " -f3`
+block_size=`get_block_size $SCRATCH_MNT`
_test_full_fs_punch $(( $block_size * 2 )) $block_size 500 $SCRATCH_MNT/252.$$ $block_size
status=0 ; exit
rm -f $seqres.full
echo "Silence is golden"
-block_size=`stat -f -c %s $TEST_DIR`
+block_size=`get_block_size $TEST_DIR`
# On unpatched ext4, if an extent exists which includes the block right
# before the maximum file offset, and the block for the maximum file offset
echo -n "Comparing holes to the reported space from FS..."
# Get block size
-block_size=$(stat -f -c "%S" $loop_mnt/)
+block_size=$(get_block_size $loop_mnt/)
sectors_per_block=`expr $block_size / 512`
# Obtain free space from filesystem