SHA256
1
0
forked from pool/grub2
grub2/grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch
Andrei Borzenkov edf621776c Accepting request 312487 from home:michael-chang:grub2-BE-fix
- Fix btrfs subvol detection on BigEndian systems (bsc#933541)
  * modified grub2-btrfs-06-subvol-mount.patch
- Fix grub2-mkrelpath outputs wrong path on BigEndian system
  * added grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch

OBS-URL: https://build.opensuse.org/request/show/312487
OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=169
2015-06-18 18:53:54 +00:00

26 lines
857 B
Diff

Index: grub-2.02~beta2/grub-core/osdep/linux/getroot.c
===================================================================
--- grub-2.02~beta2.orig/grub-core/osdep/linux/getroot.c
+++ grub-2.02~beta2/grub-core/osdep/linux/getroot.c
@@ -324,9 +324,9 @@ get_btrfs_fs_prefix (const char *mount_p
tree_id = sargs.buf[2];
br = (struct grub_btrfs_root_backref *) (sargs.buf + 4);
- inode_id = br->inode_id;
+ inode_id = grub_le_to_cpu64 (br->inode_id);
name = br->name;
- namelen = br->n;
+ namelen = grub_le_to_cpu16 (br->n);
}
else
{
@@ -353,7 +353,7 @@ get_btrfs_fs_prefix (const char *mount_p
ir = (struct grub_btrfs_inode_ref *) (sargs.buf + 4);
name = ir->name;
- namelen = ir->n;
+ namelen = grub_le_to_cpu16 (ir->n);
}
old = ret;
ret = xmalloc (namelen + (old ? strlen (old) : 0) + 2);