[PATCH v2] common/defrag: skip defrag tests on DAX-enabled filesystems
Disha Goel <[email protected]>
| Newsgroups | org.kernel.vger.fstests,org.kernel.vger.linux-ext4,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-xfs |
|---|---|
| Message-ID | <[email protected]> |
Online defragmentation is not supported on ext4 DAX-enabled filesystems. The ext4 defrag ioctl (EXT4_IOC_MOVE_EXT) returns EOPNOTSUPP when used on DAX files. Add an ext4-specific check in _require_defrag() to skip tests when DAX is enabled, avoiding false failures on ext4/301-304, ext4/308, and generic/018. XFS defrag works with DAX, so this check is ext4-specific. Signed-off-by: Disha Goel <[email protected]> Reviewed-by: Ojaswin Mujoo <[email protected]> --- Changes in v2: - Made the check ext4-specific as XFS defrag works with DAX (feedback from Darrick) - Use __scratch_uses_fsdax() instead of grepping MOUNT_OPTIONS - Removed unnecessary comment as _notrun message is self-explanatory common/defrag | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/defrag b/common/defrag index 055d0d0e..f17271cd 100644 --- a/common/defrag +++ b/common/defrag @@ -6,6 +6,10 @@ _require_defrag() { + if [ "$FSTYP" = "ext4" ] && __scratch_uses_fsdax; then + _notrun "ext4 online defrag not supported with DAX" + fi + case "$FSTYP" in xfs) # xfs_fsr does preallocates, require "falloc" -- 2.45.1