[PATCH v2] loop: Add regression test for unsupported backing file fallocate

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

 



Signed-off-by: Cyril Hrubis <chrubis@xxxxxxx>
---

v2:
  - make use of grep -c instead of wc -l
  - Add WRITE_ZEROES string to the grep regexp

 tests/loop/011     | 37 +++++++++++++++++++++++++++++++++++++
 tests/loop/011.out |  3 +++
 2 files changed, 40 insertions(+)
 create mode 100755 tests/loop/011
 create mode 100644 tests/loop/011.out

diff --git a/tests/loop/011 b/tests/loop/011
new file mode 100755
index 0000000..baabe5c
--- /dev/null
+++ b/tests/loop/011
@@ -0,0 +1,37 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2024 Cyril Hrubis
+#
+# Regression test for patch "loop: Disable fallocate() zero and discard if not supported".
+#
+
+. tests/loop/rc
+DESCRIPTION="Make sure unsupported backing file fallocate does not fill dmesg with errors"
+
+requires() {
+	_have_program mkfs.ext2
+}
+
+test() {
+	local loop_dev;
+	echo "Running ${TEST_NAME}"
+
+	mkdir "$TMPDIR/tmpfs"
+	mount -t tmpfs testfs "$TMPDIR/tmpfs"
+	dd if=/dev/zero of="$TMPDIR/tmpfs/disk.img" bs=1M count=100 &> /dev/null
+
+	if ! loop_dev="$(losetup -f --show "$TMPDIR/tmpfs/disk.img")"; then
+		return 1
+	fi
+
+	mkfs.ext2 /dev/loop0 &> /dev/null
+
+	errors=$(_dmesg_since_test_start |grep -c "operation not supported error, dev .*WRITE_ZEROES")
+
+	losetup -d "$loop_dev"
+	umount "$TMPDIR/tmpfs"
+
+	echo "Found $errors error(s) in dmesg"
+
+	echo "Test complete"
+}
diff --git a/tests/loop/011.out b/tests/loop/011.out
new file mode 100644
index 0000000..cd88fd5
--- /dev/null
+++ b/tests/loop/011.out
@@ -0,0 +1,3 @@
+Running loop/011
+Found 1 error(s) in dmesg
+Test complete
-- 
2.44.2





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux