On Sat, Nov 09, 2024 at 08:21:24AM -0800, Darrick J. Wong wrote: > On Sat, Nov 09, 2024 at 03:38:55PM +0800, Long Li wrote: > > > > Friendly Ping ... > > Sorry about that, I missed this one. > > > On Mon, Oct 21, 2024 at 09:25:49AM +0800, Long Li wrote: > > > Compat features are new features that older kernels can safely ignore, > > > allowing read-write mounts without issues. The current sb write validation > > > implementation returns -EFSCORRUPTED for unknown compat features, > > > preventing filesystem write operations and contradicting the feature's > > > definition. > > > > > > Additionally, if the mounted image is unclean, the log recovery may need > > > to write to the superblock. Returning an error for unknown compat features > > > during sb write validation can cause mount failures. > > > > > > Although XFS currently does not use compat feature flags, this issue > > > affects current kernels' ability to mount images that may use compat > > > feature flags in the future. > > > > > > Since superblock read validation already warns about unknown compat > > > features, it's unnecessary to repeat this warning during write validation. > > > Therefore, the relevant code in write validation is being removed. > > > > > You might want to add this so it actually gets backported: > > Cc: <stable@xxxxxxxxxxxxxxx> # v4.19 > Thanks for your review, indeed, it should backport to v4.19+. > > > Fixes: 9e037cb7972f ("xfs: check for unknown v5 feature bits in superblock write verifier") > > > Signed-off-by: Long Li <leo.lilong@xxxxxxxxxx> > > Makes sense, so > Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> > > --D > > > > --- > > > fs/xfs/libxfs/xfs_sb.c | 7 ------- > > > 1 file changed, 7 deletions(-) > > > > > > diff --git a/fs/xfs/libxfs/xfs_sb.c b/fs/xfs/libxfs/xfs_sb.c > > > index d95409f3cba6..02ebcbc4882f 100644 > > > --- a/fs/xfs/libxfs/xfs_sb.c > > > +++ b/fs/xfs/libxfs/xfs_sb.c > > > @@ -297,13 +297,6 @@ xfs_validate_sb_write( > > > * the kernel cannot support since we checked for unsupported bits in > > > * the read verifier, which means that memory is corrupt. > > > */ > > > - if (xfs_sb_has_compat_feature(sbp, XFS_SB_FEAT_COMPAT_UNKNOWN)) { > > > - xfs_warn(mp, > > > -"Corruption detected in superblock compatible features (0x%x)!", > > > - (sbp->sb_features_compat & XFS_SB_FEAT_COMPAT_UNKNOWN)); > > > - return -EFSCORRUPTED; > > > - } > > > - > > > if (!xfs_is_readonly(mp) && > > > xfs_sb_has_ro_compat_feature(sbp, XFS_SB_FEAT_RO_COMPAT_UNKNOWN)) { > > > xfs_alert(mp, > > > -- > > > 2.39.2 > > > > > >