generic/273: Remove hard coded block size
authorChandan Rajendra <chandan@linux.vnet.ibm.com>
Mon, 9 May 2016 00:45:19 +0000 (10:45 +1000)
committerDave Chinner <david@fromorbit.com>
Mon, 9 May 2016 00:45:19 +0000 (10:45 +1000)
The space occupied by files in the 'origin' directory is calculated with
the assumption that 4k is the block size of the underlying filesystem.
This causes the test to fail with ENOSPC errors when running on
filesystems with larger block sizes. To fix the issue, this commit makes
use of the the block size obtained from the mounted filesystem.

Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
tests/generic/273

index 0a4a6000bcee23b606d0c580fafe1e56d130cb49..d90212e1d265839cd1138465d5195113de3a3f59 100755 (executable)
@@ -57,6 +57,7 @@ _threads_set()
 
 _file_create()
 {
+       block_size=$1
        _i=0
 
        if ! mkdir $SCRATCH_MNT/origin
@@ -70,11 +71,11 @@ _file_create()
 
        _disksize=`$DF_PROG -B 1 $SCRATCH_MNT | tail -1 | $AWK_PROG '{ print $5 }'`
        _disksize=$(($_disksize / 3))
-       _num=$(($_disksize / $count / $threads / 4096))
+       _num=$(($_disksize / $count / $threads / $block_size))
        _count=$count
        while [ $_i -lt $_num ]
        do
-               dd if=/dev/zero of=file_$_i bs=4096 count=$_count >/dev/null 2>&1
+               dd if=/dev/zero of=file_$_i bs=$block_size count=$_count >/dev/null 2>&1
                _i=$(($_i + 1))
        done
 
@@ -105,9 +106,10 @@ _do_workload()
 {
        _pids=""
        _pid=1
+       block_size=$(get_block_size $SCRATCH_MNT)
        
        _threads_set
-       _file_create
+       _file_create $block_size
 
        _threads=$threads