[PATCH] progs: tests: Avoid multidevice test on 32bit platforms

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Marcos Paulo de Souza <mpdesouza@xxxxxxxx>

This test uses truncate utility to create a 6E file but this fails
currently fails for PPC32[1], but it will also fail to other 32bit
platforms, so skip this test in these platforms.

[1]: https://github.com/kdave/btrfs-progs/issues/192

Signed-off-by: Marcos Paulo de Souza <mpdesouza@xxxxxxxx>
---

 I couldn't find a way to make truncate to use O_LARGEFILE option. I though even
 to write a helper to open the file using this flag and later on call ftruncate,
 but isn't it one more helper to maintain?

 If there are better ideas to avoid skipping this test, please let me know!

 tests/common                                      | 15 +++++++++++++++
 tests/mkfs-tests/018-multidevice-overflow/test.sh |  1 +
 2 files changed, 16 insertions(+)

diff --git a/tests/common b/tests/common
index 605cf72c..9aa69a1a 100644
--- a/tests/common
+++ b/tests/common
@@ -580,6 +580,21 @@ check_min_kernel_version()
 	return 0
 }
 
+check_32bit_machine()
+{
+	local msg
+
+	msg="$1"
+	if [ -z "$msg" ]; then
+		msg="Skipping test on 32bit machines"
+	fi
+
+	long_bit=$(getconf LONG_BIT)
+	if [ $long_bit -eq 32 ]; then
+		_not_run "$msg"
+	fi
+}
+
 # how many files to create.
 DATASET_SIZE=50
 
diff --git a/tests/mkfs-tests/018-multidevice-overflow/test.sh b/tests/mkfs-tests/018-multidevice-overflow/test.sh
index 6c2f4dba..8bb3d5a9 100755
--- a/tests/mkfs-tests/018-multidevice-overflow/test.sh
+++ b/tests/mkfs-tests/018-multidevice-overflow/test.sh
@@ -5,6 +5,7 @@ source "$TEST_TOP/common"
 
 check_prereq mkfs.btrfs
 check_prereq btrfs
+check_32bit_machine "32bit machines can't handle 6E file sizes"
 
 setup_root_helper
 prepare_test_dev
-- 
2.24.0




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux