On Mon, Feb 03, 2025 at 03:41:22PM -0800, Darrick J. Wong via Grub-devel wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > The Linux port of XFS added a few new features in 2024. The existing > grub driver doesn't attempt to read or write any of the new metadata, so > all three can be added to the incompat allowlist. > > Signed-off-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> ... but one nit below... > --- > grub-core/fs/xfs.c | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c > index 8e02ab4a301424..5d809a770a1576 100644 > --- a/grub-core/fs/xfs.c > +++ b/grub-core/fs/xfs.c > @@ -89,6 +89,9 @@ GRUB_MOD_LICENSE ("GPLv3+"); > #define XFS_SB_FEAT_INCOMPAT_BIGTIME (1 << 3) /* large timestamps */ > #define XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR (1 << 4) /* needs xfs_repair */ > #define XFS_SB_FEAT_INCOMPAT_NREXT64 (1 << 5) /* large extent counters */ > +#define XFS_SB_FEAT_INCOMPAT_EXCHRANGE (1 << 6) /* exchangerange supported */ > +#define XFS_SB_FEAT_INCOMPAT_PARENT (1 << 7) /* parent pointers */ > +#define XFS_SB_FEAT_INCOMPAT_METADIR (1 << 8) /* metadata dir tree */ > > /* > * Directory entries with ftype are explicitly handled by GRUB code. > @@ -98,6 +101,15 @@ GRUB_MOD_LICENSE ("GPLv3+"); > * > * We do not currently verify metadata UUID, so it is safe to read filesystems > * with the XFS_SB_FEAT_INCOMPAT_META_UUID feature. > + * > + * We do not currently replay the log, so it is safe to read filesystems > + * with the XFS_SB_FEAT_INCOMPAT_EXCHRANGE feature. > + * > + * We do not currently read directory parent pointers, so it is safe to read > + * filesystems with the XFS_SB_FEAT_INCOMPAT_EXCHRANGE feature. s/XFS_SB_FEAT_INCOMPAT_EXCHRANGE/XFS_SB_FEAT_INCOMPAT_PARENT/? I can fix it for you before push... > + * > + * We do not currently look at realtime or quota metadata, so it is safe to > + * read filesystems with the XFS_SB_FEAT_INCOMPAT_METADIR feature. > */ > #define XFS_SB_FEAT_INCOMPAT_SUPPORTED \ > (XFS_SB_FEAT_INCOMPAT_FTYPE | \ > @@ -105,7 +117,10 @@ GRUB_MOD_LICENSE ("GPLv3+"); > XFS_SB_FEAT_INCOMPAT_META_UUID | \ > XFS_SB_FEAT_INCOMPAT_BIGTIME | \ > XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR | \ > - XFS_SB_FEAT_INCOMPAT_NREXT64) > + XFS_SB_FEAT_INCOMPAT_NREXT64 | \ > + XFS_SB_FEAT_INCOMPAT_EXCHRANGE | \ > + XFS_SB_FEAT_INCOMPAT_PARENT | \ > + XFS_SB_FEAT_INCOMPAT_METADIR) Daniel