* [PATCH] fs/xfs: add new superblock features added in Linux 6.12/6.13
@ 2025-02-03 23:41 Darrick J. Wong
2025-02-24 16:28 ` Daniel Kiper
0 siblings, 1 reply; 3+ messages in thread
From: Darrick J. Wong @ 2025-02-03 23:41 UTC (permalink / raw)
To: xfs, grub-devel
From: Darrick J. Wong <djwong@kernel.org>
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@kernel.org>
---
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.
+ *
+ * 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)
struct grub_xfs_sblock
{
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] fs/xfs: add new superblock features added in Linux 6.12/6.13
2025-02-03 23:41 [PATCH] fs/xfs: add new superblock features added in Linux 6.12/6.13 Darrick J. Wong
@ 2025-02-24 16:28 ` Daniel Kiper
2025-02-24 16:49 ` Darrick J. Wong
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Kiper @ 2025-02-24 16:28 UTC (permalink / raw)
To: Darrick J. Wong; +Cc: grub-devel, linux-xfs
On Mon, Feb 03, 2025 at 03:41:22PM -0800, Darrick J. Wong via Grub-devel wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> 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@kernel.org>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
... 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
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] fs/xfs: add new superblock features added in Linux 6.12/6.13
2025-02-24 16:28 ` Daniel Kiper
@ 2025-02-24 16:49 ` Darrick J. Wong
0 siblings, 0 replies; 3+ messages in thread
From: Darrick J. Wong @ 2025-02-24 16:49 UTC (permalink / raw)
To: Daniel Kiper; +Cc: grub-devel, linux-xfs
On Mon, Feb 24, 2025 at 05:28:30PM +0100, Daniel Kiper wrote:
> On Mon, Feb 03, 2025 at 03:41:22PM -0800, Darrick J. Wong via Grub-devel wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> >
> > 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@kernel.org>
>
> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
>
> ... 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...
Oops, yes, that's correct. Apologies for the copypasta. :/
Thanks for reviewing!
--D
> > + *
> > + * 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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-02-24 16:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-03 23:41 [PATCH] fs/xfs: add new superblock features added in Linux 6.12/6.13 Darrick J. Wong
2025-02-24 16:28 ` Daniel Kiper
2025-02-24 16:49 ` Darrick J. Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox