[PATCH v2 1/2] common/dmlogwrites: add _require_log_writes_sized helper

Disha Goel <[email protected]>
Newsgroups org.kernel.vger.fstests,org.kernel.vger.linux-btrfs
Message-ID <[email protected]>
Add a new helper function _require_log_writes_sized() to check if the
LOGWRITES_DEV meets a minimum size requirement.

This is useful for tests that use dm-log-writes with additional space
requirements, such as creating LVM snapshots during log replay or tests
that generate large amounts of logged I/O operations.

The function takes a size parameter in KB, calls _require_log_writes()
internally, and skips the test if LOGWRITES_DEV is smaller than the
required size.

v2:
- Renamed function from _require_logwrites_size to _require_log_writes_sized
- Added documentation comment clarifying the parameter is in KB
- Made function call _require_log_writes() internally to avoid redundant
  calls in test code

Suggested-by: Darrick J. Wong <[email protected]>
Suggested-by: Anand Jain <[email protected]>
Signed-off-by: Disha Goel <[email protected]>
---
 common/dmlogwrites | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/common/dmlogwrites b/common/dmlogwrites
index a27e1966..0925b333 100644
--- a/common/dmlogwrites
+++ b/common/dmlogwrites
@@ -14,6 +14,21 @@ _require_log_writes()
 	_require_test_program "log-writes/replay-log"
 }
 
+# Require a log writes device of a minimum size
+# $1: minimum size in KB
+_require_log_writes_sized()
+{
+        local size=$1
+
+        [ $# -eq 1 ] || _fail "_require_log_writes_sized: expected size param"
+
+        _require_log_writes
+
+        local devsize=$(_get_device_size $LOGWRITES_DEV)
+        [ $devsize -lt $1 ] && \
+                _notrun "LOGWRITES_DEV too small, ${devsize}KB < ${size}KB"
+}
+
 # Starting from v4.15-rc1, DAX support was added to dm-log-writes, but note
 # that it doesn't track the data that we write via the mmap(), so we can't do
 # any data integrity checking. We can only verify that the metadata writes for
-- 
2.45.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.