forked from pool/grub2
* grub2-bls-loader-entry-oneshot.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=550
66 lines
2.6 KiB
Diff
66 lines
2.6 KiB
Diff
From 7a8d9a29358fbe9eb5dcc70e63c417c4f3cd5068 Mon Sep 17 00:00:00 2001
|
|
From: "Darrick J. Wong" <djwong@kernel.org>
|
|
Date: Mon, 3 Feb 2025 15:41:22 -0800
|
|
Subject: [PATCH 1/3] fs/xfs: Add new superblock features added in Linux
|
|
6.12/6.13
|
|
|
|
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.
|
|
|
|
On the occasion align XFS_SB_FEAT_INCOMPAT_NREXT64 value.
|
|
|
|
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
|
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
---
|
|
grub-core/fs/xfs.c | 19 +++++++++++++++++--
|
|
1 file changed, 17 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
|
|
index c17e54e447..e3a69fe498 100644
|
|
--- a/grub-core/fs/xfs.c
|
|
+++ b/grub-core/fs/xfs.c
|
|
@@ -88,7 +88,10 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
|
#define XFS_SB_FEAT_INCOMPAT_META_UUID (1 << 2) /* metadata UUID */
|
|
#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_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_PARENT 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
|
|
{
|
|
--
|
|
2.48.1
|
|
|