Problem: XFS, JFS, etc. file systems of the fsys_table are not detected by grub with grub-0.97-btrfs.patch applied. BUG: btrfs_mount() sets ERR_FSYS_MOUNT to the global variable errnum if no btrfs metadata were found on a partition. As the result all next calls of devread() (and, hence, attempts to find metadata of other file systems) failed. Solution: Don't set ERR_FSYS_MOUNT, if btrfs metadata were found, just return 0. Signed-off-by: Edward Shishkin --- stage2/fsys_btrfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- grub-0.97.orig/stage2/fsys_btrfs.c +++ grub-0.97/stage2/fsys_btrfs.c @@ -638,7 +638,7 @@ int btrfs_mount(void) if (ret) { btrfs_msg("Drive %lu, partition %lu: no Btrfs metadata\n", current_drive, part_start); - goto error; + return 0; } ret = btrfs_uptodate_super_copy(BTRFS_FS_INFO); if (ret)