[PATCH v3] 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. Suggested-by: Darrick J. Wong <[email protected]> Signed-off-by: Disha Goel <[email protected]> Reviewed-by: Ojaswin Mujoo <[email protected]> --- Changes in v3: - Move the DAX check inside the ext4 case statement as suggested by Darrick common/defrag | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/defrag b/common/defrag index 055d0d0e..baf05d94 100644 --- a/common/defrag +++ b/common/defrag @@ -13,6 +13,8 @@ _require_defrag() DEFRAG_PROG="$XFS_FSR_PROG" ;; ext4) + __scratch_uses_fsdax && _notrun "ext4 online defrag not supported with DAX" + testfile="$TEST_DIR/$$-test.defrag" donorfile="$TEST_DIR/$$-donor.defrag" bsize=`_get_block_size $TEST_DIR` -- 2.45.1