08.07.2016 23:15, Andrei Borzenkov пишет: > 06.07.2016 14:36, Marcos Mello пишет: >> Background: >> >> Kernel 4.3 >> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ce748eaa65f2e9392ba82726503c8d994ffd6393 >> >> xfsprogs 4.2.0 >> http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/cmds/xfsprogs.git;a=commit;h=9c4e12fb60c15dc9c5e54041c9679454b42cb23e >> >> I am using Xubuntu 16.04, which has 2.02-beta2 plus XFSv5 patches (1570140, >> a139188, d3ffeb9, b6e80c7, ff3c200, 049dcfa) backported. >> >> grub-install verbose output before "xfs_admin -U generate <dev>": >> > > This is due to XFS_SB_FEAT_INCOMPAT_META_UUID bit set. Jan, is it enough > to add this bit to XFS_SB_FEAT_INCOMPAT_SUPPORTED or we need extra code > to support it? > >
As far as I can tell we do not need any extra support (until we start actually check metadata UUID). @Marcos could you test this patch? Works for me. @Jan any comment?
From: Andrei Borzenkov <[email protected]> Subject: [PATCH] xfs: accept filesystem with meta_uuid XFS V5 stores UUID in metadata and compares them with superblock UUID. To allow changing of user-visible UUID it stores original value in new superblock field (meta_uuid) and sets incompatible flag to indicate that new field must be used to verify metadata. Our driver currently does not check metadata UUID so simply accept such filesystem. --- grub-core/fs/xfs.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c index ca9c0c3..9f66dd6 100644 --- a/grub-core/fs/xfs.c +++ b/grub-core/fs/xfs.c @@ -76,8 +76,13 @@ GRUB_MOD_LICENSE ("GPLv3+"); /* incompat feature flags */ #define XFS_SB_FEAT_INCOMPAT_FTYPE (1 << 0) /* filetype in dirent */ +#define XFS_SB_FEAT_INCOMPAT_SPINODES (1 << 1) /* sparse inode chunks */ +#define XFS_SB_FEAT_INCOMPAT_META_UUID (1 << 2) /* metadata UUID */ + +/* We do not currently verify metadata UUID so it is safe to read such filesystem */ #define XFS_SB_FEAT_INCOMPAT_SUPPORTED \ - (XFS_SB_FEAT_INCOMPAT_FTYPE) + (XFS_SB_FEAT_INCOMPAT_FTYPE | \ + XFS_SB_FEAT_INCOMPAT_META_UUID) struct grub_xfs_sblock { -- tg: (b524fa2..) u/xfs-meta_uuid (depends on: master)
_______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
