Blame SOURCES/0145-grub-core-fs-xfs.c-grub_xfs_read_block-Fix-computati.patch

f96e0b
From 077f5078ad094f096e623008b0e94cf86bd6e703 Mon Sep 17 00:00:00 2001
f96e0b
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
f96e0b
Date: Wed, 30 Jan 2013 09:22:43 +0100
f96e0b
Subject: [PATCH 145/482] 	* grub-core/fs/xfs.c (grub_xfs_read_block):
f96e0b
 Fix computation in presence 	of extended attributes.
f96e0b
f96e0b
---
f96e0b
 ChangeLog          | 5 +++++
f96e0b
 grub-core/fs/xfs.c | 4 +---
f96e0b
 2 files changed, 6 insertions(+), 3 deletions(-)
f96e0b
f96e0b
diff --git a/ChangeLog b/ChangeLog
f96e0b
index 74ef434..e5b71cf 100644
f96e0b
--- a/ChangeLog
f96e0b
+++ b/ChangeLog
f96e0b
@@ -1,3 +1,8 @@
f96e0b
+2013-01-30  Vladimir Serbinenko  <phcoder@gmail.com>
f96e0b
+
f96e0b
+	* grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
f96e0b
+	of extended attributes.
f96e0b
+
f96e0b
 2013-01-27  Andrey Borzenkov <arvidjaar@gmail.com>
f96e0b
 
f96e0b
 	* util/grub-install.in: change misleading comment about
f96e0b
diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
f96e0b
index 49d2a89..aee1582 100644
f96e0b
--- a/grub-core/fs/xfs.c
f96e0b
+++ b/grub-core/fs/xfs.c
f96e0b
@@ -295,9 +295,7 @@ grub_xfs_read_block (grub_fshelp_node_t node, grub_disk_addr_t fileblock)
f96e0b
       nrec = grub_be_to_cpu16 (node->inode.data.btree.numrecs);
f96e0b
       keys = &node->inode.data.btree.keys[0];
f96e0b
       if (node->inode.fork_offset)
f96e0b
-	recoffset = (node->inode.fork_offset
f96e0b
-		     - ((char *) &node->inode.data.btree.keys - (char *) &node->inode))
f96e0b
-	  / (2 * sizeof (grub_uint64_t));
f96e0b
+	recoffset = (node->inode.fork_offset - 1) / 2;
f96e0b
       else
f96e0b
 	recoffset = ((1 << node->data->sblock.log2_inode)
f96e0b
 		     - ((char *) &node->inode.data.btree.keys
f96e0b
-- 
f96e0b
1.8.2.1
f96e0b