lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1587719472-129572-1-git-send-email-jefflexu@linux.alibaba.com>
Date:   Fri, 24 Apr 2020 17:11:12 +0800
From:   Jeffle Xu <jefflexu@...ux.alibaba.com>
To:     fstests@...r.kernel.org
Cc:     linux-ext4@...r.kernel.org, joseph.qi@...ux.alibaba.com,
        Tomas Racek <tracek@...hat.com>
Subject: [PATCH] xfstests: 298: fix failure on ext4 with bigalloc

From: Tomas Racek <tracek@...hat.com>

It is just a resend of this patch from "Tomas Racek <tracek@...hat.com>".
Recently we run xfstests on ext4 with 'bigalloc' feature enabled, and
come across some failure due to poor adaption for ext4 bigalloc. One
if the failed cases is shared/298. I find this patch on internet [1] and
it works in my case. I have no idea why this patch have not been merged.
Maybe this buddy didn't send this patch at that time, or it was rejected
for some reason but I can't find any discussion on internet.

[1] https://lkml.org/lkml/2013/6/18/329

The original commit log:

Count with cluster size instead of block size if bigalloc is used.

Signed-off-by: Tomas Racek <tracek@...hat.com>
---
 tests/shared/298 | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/tests/shared/298 b/tests/shared/298
index 5d6c6cc..86b7cdc 100755
--- a/tests/shared/298
+++ b/tests/shared/298
@@ -60,15 +60,21 @@ get_free_sectors()
 {
 	case $FSTYP in
 	ext4)
+	cluster_size=$($DUMPE2FS_PROG $img_file 2>&1 | sed -n 's/Cluster size: *\(.*\)/\1/p')
+	if [ -n "$cluster_size" ]; then
+		blocks_per_cluster=`expr $cluster_size / $block_size`
+	else
+		blocks_per_cluster=1
+	fi
 	$UMOUNT_PROG $loop_mnt
 	$DUMPE2FS_PROG $img_file  2>&1 | grep " Free blocks" | cut -d ":" -f2- | \
 		tr ',' '\n' | $SED_PROG 's/^ //' | \
-		$AWK_PROG -v spb=$sectors_per_block 'BEGIN{FS="-"};
+		$AWK_PROG -v spb=$sectors_per_block -v bpc=$blocks_per_cluster 'BEGIN{FS="-"};
 		     NF {
 			if($2 != "") # range of blocks
-				print spb * $1, spb * ($2 + 1) - 1;
+				print spb * $1, spb * ($2 + bpc) - 1;
 			else		# just single block
-				print spb * $1, spb * ($1 + 1) - 1;
+				print spb * $1, spb * ($1 + bpc) - 1;
 		     }'
 	;;
 	xfs)
-- 
1.8.3.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ