Skip to contentSkip to conversation

Fix fsverity.test mount failure for ppc64

PATCH In review Vitaly Chikunov 3 participants 3 messages Mar 11, 2023 – Mar 14, 2023 Keys-trusted

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix fsverity.test mount failure for ppc64

fsverity requires fs blocksize to be equal to pagesoze, which is different on ppc64 (64K). Default mkfs blocksize if 4K. This difference causes mount failure and following error message:

INFO: Mounting loopback filesystem
mount: /tmp/fsverity-test: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
FAILURE: mounting loopback filesystem

It's said this limitation is removed in Linux v6.3, but for backward compatibility better to leave workaround for it.

Fixes b259a2b ("tests: add fsverity measurement test")
---
 tests/fsverity.test | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
tests/fsverity.test +4 -1
index 01d5c35..5ad7634 100755
@@ -120,6 +120,9 @@ create_loopback_file() {
 	case $fs_type in
 	ext4|f2fs)
 		options="-O verity"
+		# verity requires blocksize to be equal to pagesize.
+		pagesize=$(getconf PAGE_SIZE)
+		[ "$pagesize" -eq 4096 ] || options+=" -b $pagesize"
 		;;
 	btrfs)
 		;;
@@ -136,7 +139,7 @@ create_loopback_file() {
 	fi
 
 	echo "INFO: Building an $fs_type filesystem"
-	if ! mkfs -t "$fs_type" -q "${TST_IMG}" "$options"; then
+	if ! mkfs -t "$fs_type" -q "${TST_IMG}" $options; then
 		echo "${RED}FAILURE: Creating $fs_type filesystem${NORM}"
 		exit "$FAIL"
 	fi
Signature · 1 line
2.33.7
Tested-by on v1 1/1
#1 lore raw
Quoted 9 lines · Vitaly Chikunov

fsverity requires fs blocksize to be equal to pagesoze, which is different on ppc64 (64K). Default mkfs blocksize if 4K. This difference causes mount failure and following error message:

INFO: Mounting loopback filesystem
mount: /tmp/fsverity-test: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
FAILURE: mounting loopback filesystem

Quoted 5 lines

It's said this limitation is removed in Linux v6.3, but for backward compatibility better to leave workaround for it.

Fixes b259a2b ("tests: add fsverity measurement test")

Tested on Power10, PowerVM:

1. Kernel version: 6.3-rc6
with or with out this patch the fsverity.test result is same ie:
PASS: 6 SKIP: 0 FAIL: 0

2. Kernel version: 6.2.6

with out patch:
seen the reported error ie
mount: /tmp/fsverity-test: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
FAILURE: mounting loopback filesystem

with patch:
PASS: 4 SKIP: 2 FAIL: 0

Quoted 27 lines
---
  tests/fsverity.test | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
tests/fsverity.test +4 -1
index 01d5c35..5ad7634 100755
@@ -120,6 +120,9 @@ create_loopback_file() {
  	case $fs_type in
  	ext4|f2fs)
  		options="-O verity"
+		# verity requires blocksize to be equal to pagesize.
+		pagesize=$(getconf PAGE_SIZE)
+		[ "$pagesize" -eq 4096 ] || options+=" -b $pagesize"
  		;;
  	btrfs)
  		;;
@@ -136,7 +139,7 @@ create_loopback_file() {
  	fi
 
  	echo "INFO: Building an $fs_type filesystem"
-	if ! mkfs -t "$fs_type" -q "${TST_IMG}" "$options"; then
+	if ! mkfs -t "$fs_type" -q "${TST_IMG}" $options; then
  		echo "${RED}FAILURE: Creating $fs_type filesystem${NORM}"
  		exit "$FAIL"
  	fi
Signature · 2 lines
Thanks and Regards
R.Nageswara Sastry
maintainer
#2 lore raw
In reply to Vitaly Chikunov
Quoted 9 lines · Vitaly Chikunov

fsverity requires fs blocksize to be equal to pagesoze, which is different on ppc64 (64K). Default mkfs blocksize if 4K. This difference causes mount failure and following error message:

INFO: Mounting loopback filesystem
mount: /tmp/fsverity-test: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
FAILURE: mounting loopback filesystem

Quoted 5 lines

It's said this limitation is removed in Linux v6.3, but for backward compatibility better to leave workaround for it.

Fixes b259a2b ("tests: add fsverity measurement test")

Thanks, Vitaly. The patch is now queued in next-testing.

Signature · 1 line
Mimi