[PATCH v3 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. Suggested-by: Darrick J. Wong <[email protected]> Suggested-by: Anand Jain <[email protected]> Signed-off-by: Disha Goel <[email protected]> --- v2 -> v3: - Fixed variable declaration order - declare all local variables at the beginning of the function - Use $size instead of $1 for clarity in the comparison common/dmlogwrites | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/common/dmlogwrites b/common/dmlogwrites index a27e1966..b457ef7f 100644 --- a/common/dmlogwrites +++ b/common/dmlogwrites @@ -14,6 +14,22 @@ _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 + local devsize + + [ $# -eq 1 ] || _fail "_require_log_writes_sized: expected size param" + + _require_log_writes + + devsize=$(_get_device_size $LOGWRITES_DEV) + [ $devsize -lt $size ] && \ + _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