Thread (57 messages) 57 messages, 4 authors, 2025-09-10

Re: [PATCH v5 02/12] common/rc: Add _require_fio_version helper

From: Zorro Lang <hidden>
Date: 2025-09-07 05:18:13
Also in: fstests, linux-xfs, lkml

On Tue, Sep 02, 2025 at 03:50:10PM +0100, John Garry wrote:
On 22/08/2025 09:02, Ojaswin Mujoo wrote:
quoted
The main motivation of adding this function on top of _require_fio is
that there has been a case in fio where atomic= option was added but
later it was changed to noop since kernel didn't yet have support for
atomic writes. It was then again utilized to do atomic writes in a later
version, once kernel got the support. Due to this there is a point in
fio where _require_fio w/ atomic=1 will succeed even though it would
not be doing atomic writes.

Hence, add an explicit helper to ensure tests to require specific
versions of fio to work past such issues.

Signed-off-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
---
  common/rc | 32 ++++++++++++++++++++++++++++++++
  1 file changed, 32 insertions(+)
diff --git a/common/rc b/common/rc
index 35a1c835..f45b9a38 100644
--- a/common/rc
+++ b/common/rc
@@ -5997,6 +5997,38 @@ _max() {
  	echo $ret
  }
+# Check the required fio version. Examples:
+#   _require_fio_version 3.38 (matches 3.38 only)
+#   _require_fio_version 3.38+ (matches 3.38 and above)
+#   _require_fio_version 3.38- (matches 3.38 and below)
This requires the user to know the version which corresponds to the feature.
Is that how things are done for other such utilities and their versions vs
features?
I don't like to use "version" to be the _require_ condition either. fstests always
recommend "checking if the feature/behavior is really supported" at first, not a
hard version limitation. Some old downstream software might backport new upstream
commits, the version is useless for them.

Thanks,
Zorro
I was going to suggest exporting something like
_require_fio_atomic_writes(), and _require_fio_atomic_writes() calls
_require_fio_version() to check the version.

Thanks,
John
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help