On Sun, Jan 14, 2024 at 02:57:13PM +0100, Richard Weinberger wrote: > When testing on a MTD with a rather small erase block > size, the default max_attr limit can be too much and the > test will fail. > Instead compute the actual limit. > > Signed-off-by: Richard Weinberger <richard@xxxxxx> > --- Thanks for the updating for UBIFS testing, this patch looks good to me. I'm not a good user of ubifs, but as your the maintainer of UBIFS, I think I can give more trust to this patch ;) So I'll merge this patch after a basic testing. Reviewed-by: Zorro Lang <zlang@xxxxxxxxxx> > common/config | 1 + > common/ubifs | 9 +++++++++ > tests/generic/020 | 6 ++++++ > 3 files changed, 16 insertions(+) > create mode 100644 common/ubifs > > diff --git a/common/config b/common/config > index c9771ff9..05f2bb35 100644 > --- a/common/config > +++ b/common/config > @@ -545,6 +545,7 @@ _source_specific_fs() > ;; > ubifs) > [ "$UBIUPDATEVOL_PROG" = "" ] && _fatal "ubiupdatevol not found" > + . ./common/ubifs > ;; > esac > } > diff --git a/common/ubifs b/common/ubifs > new file mode 100644 > index 00000000..08323260 > --- /dev/null > +++ b/common/ubifs > @@ -0,0 +1,9 @@ > +#!/bin/bash > +# SPDX-License-Identifier: GPL-2.0-only > + > +_get_leb_size() > +{ > + local ubivol=$1 > + > + cat /sys/class/ubi/`basename $ubivol`/usable_eb_size > +} > diff --git a/tests/generic/020 b/tests/generic/020 > index da258aa5..4951b9e3 100755 > --- a/tests/generic/020 > +++ b/tests/generic/020 > @@ -101,6 +101,12 @@ _attr_get_max() > let max_attrs=$((($BLOCK_SIZE - 32) / (16 + 12 + 16 ))) > fi > ;; > + ubifs) > + LEB_SIZE=`_get_leb_size $TEST_DEV` > + # On UBIFS, the number of xattrs has to be less than 50% LEB size > + # divided by 160 (inode size) > + let max_attrs=$((($LEB_SIZE / 2 / 160) - 1)) > + ;; > *) > # Assume max ~1 block of attrs > BLOCK_SIZE=`_get_block_size $TEST_DIR` > -- > 2.35.3 > >