Re: [PATCH v2] common/defrag: skip defrag tests on DAX-enabled filesystems
"Darrick J. Wong" <[email protected]>
| Newsgroups | org.kernel.vger.fstests,org.kernel.vger.linux-ext4,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-xfs |
|---|---|
| Message-ID | <20260604145434.GG6095@frogsfrogsfrogs> |
On Thu, Jun 04, 2026 at 05:53:05PM +0530, Disha Goel wrote: > 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 Shouldn't this be: ext4) __scratch_uses_fsdax && _notrun "..." ;; in the case statement below? --D > + _notrun "ext4 online defrag not supported with DAX" > + fi > + > case "$FSTYP" in > xfs) > # xfs_fsr does preallocates, require "falloc" > -- > 2.45.1 >