On Fri, Apr 24, 2020 at 05:33:50PM +0800, Jeffle Xu wrote: > Inserting and collapsing range on ext4 with 'bigalloc' feature will > fail due to the offset and size should be alligned with the cluster > size. > > The previous patch has add support for cluster size in fsx. Detect and > pass the cluster size parameter to fsx if the underlying filesystem > is ext4 with bigalloc. > > Signed-off-by: Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx> > --- > common/rc | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/common/rc b/common/rc > index 2000bd9..71dde5f 100644 > --- a/common/rc > +++ b/common/rc > @@ -3908,6 +3908,15 @@ run_fsx() > { > echo fsx $@ > local args=`echo $@ | sed -e "s/ BSIZE / $bsize /g" -e "s/ PSIZE / $psize /g"` > + > + if [ "$FSTYP" == "ext4" ]; then > + local cluster_size=$(tune2fs -l $TEST_DEV | grep 'Cluster size' | awk '{print $3}') > + if [ -n $cluster_size ]; then > + echo "cluster size: $cluster_size" > + args="$args -u $cluster_size" > + fi > + fi Computing the file allocation block size ought to be a separate helper. I wonder if there's a standard way to report cluster sizes, seeing as fat, ext4, ocfs2, and xfs can all have minimum space allocation units that are larger than the base fs block size. --D > + > set -- $here/ltp/fsx $args $FSX_AVOID $TEST_DIR/junk > echo "$@" >>$seqres.full > rm -f $TEST_DIR/junk > -- > 1.8.3.1 >