mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
common: Introduce get_block_size() helper
Currently many tests and other functions uses it's own way to get block size of the file system. Introduce get_block_size(), a generic way to get block size of mounted file system and use that instead. Signed-off-by: Lukas Czerner <lczerner@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
committed by
Dave Chinner
parent
48c45430ce
commit
a2a1fc679e
+2
-2
@@ -249,7 +249,7 @@ _sort_getfattr_output()
|
|||||||
if [ "$FSTYP" == "xfs" -o "$FSTYP" == "udf" ]; then
|
if [ "$FSTYP" == "xfs" -o "$FSTYP" == "udf" ]; then
|
||||||
MAX_ATTRS=1000
|
MAX_ATTRS=1000
|
||||||
else # Assume max ~1 block of attrs
|
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
|
# user.attribute_XXX="value.XXX" is about 32 bytes; leave some overhead
|
||||||
let MAX_ATTRS=$BLOCK_SIZE/40
|
let MAX_ATTRS=$BLOCK_SIZE/40
|
||||||
fi
|
fi
|
||||||
@@ -260,7 +260,7 @@ export MAX_ATTRS
|
|||||||
if [ "$FSTYP" == "xfs" -o "$FSTYP" == "udf" -o "$FSTYP" == "btrfs" ]; then
|
if [ "$FSTYP" == "xfs" -o "$FSTYP" == "udf" -o "$FSTYP" == "btrfs" ]; then
|
||||||
MAX_ATTRVAL_SIZE=64
|
MAX_ATTRVAL_SIZE=64
|
||||||
else # Assume max ~1 block of attrs
|
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
|
# leave a little overhead
|
||||||
let MAX_ATTRVAL_SIZE=$BLOCK_SIZE-256
|
let MAX_ATTRVAL_SIZE=$BLOCK_SIZE-256
|
||||||
fi
|
fi
|
||||||
|
|||||||
+1
-1
@@ -557,7 +557,7 @@ _test_generic_punch()
|
|||||||
if [ "$remove_testfile" ]; then
|
if [ "$remove_testfile" ]; then
|
||||||
rm -f $testfile
|
rm -f $testfile
|
||||||
fi
|
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" \
|
$XFS_IO_PROG -f -c "truncate $block_size" \
|
||||||
-c "pwrite 0 $block_size" $sync_cmd \
|
-c "pwrite 0 $block_size" $sync_cmd \
|
||||||
-c "$zero_cmd 128 128" \
|
-c "$zero_cmd 128 128" \
|
||||||
|
|||||||
@@ -2542,6 +2542,15 @@ _short_dev()
|
|||||||
echo `basename $(_real_dev $1)`
|
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
|
init_rc
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
+1
-1
@@ -62,7 +62,7 @@ rm -f $seqres.full
|
|||||||
rm -f $TEST_DIR/aiodio_sparse
|
rm -f $TEST_DIR/aiodio_sparse
|
||||||
|
|
||||||
logical_block_size=`_min_dio_alignment $TEST_DEV`
|
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))
|
file_size=$((8 * $fs_block_size))
|
||||||
|
|
||||||
if [ $fs_block_size -le $logical_block_size ]; then
|
if [ $fs_block_size -le $logical_block_size ]; then
|
||||||
|
|||||||
+1
-1
@@ -171,7 +171,7 @@ _scratch_mount
|
|||||||
# Test must be able to write files with non-root permissions
|
# Test must be able to write files with non-root permissions
|
||||||
chmod 777 $SCRATCH_MNT
|
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
|
_test_full_fs_punch $(( $block_size * 2 )) $block_size 500 $SCRATCH_MNT/252.$$ $block_size
|
||||||
|
|
||||||
status=0 ; exit
|
status=0 ; exit
|
||||||
|
|||||||
+1
-1
@@ -49,7 +49,7 @@ _require_test
|
|||||||
rm -f $seqres.full
|
rm -f $seqres.full
|
||||||
echo "Silence is golden"
|
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
|
# 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
|
# before the maximum file offset, and the block for the maximum file offset
|
||||||
|
|||||||
+1
-1
@@ -165,7 +165,7 @@ echo "done."
|
|||||||
|
|
||||||
echo -n "Comparing holes to the reported space from FS..."
|
echo -n "Comparing holes to the reported space from FS..."
|
||||||
# Get block size
|
# 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`
|
sectors_per_block=`expr $block_size / 512`
|
||||||
|
|
||||||
# Obtain free space from filesystem
|
# Obtain free space from filesystem
|
||||||
|
|||||||
Reference in New Issue
Block a user