* fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
block to disk block.
(grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
Patch from Niels B\303\266hm <bitbucket@arcor.de>
+2008-06-29 Robert Millan <rmh@aybabtu.com>
+
+ * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
+ block to disk block.
+ (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
+ Patch from Niels Böhm <bitbucket@arcor.de>
+
2008-06-29 Robert Millan <rmh@aybabtu.com>
* util/update-grub_lib.in (font_path): Search for fonts in
#define GRUB_XFS_INO_AG(data,ino) \
(grub_be_to_cpu64 (ino) >> GRUB_XFS_INO_AGBITS (data))
+#define GRUB_XFS_FSB_TO_BLOCK(data, fsb) \
+ (((fsb) >> (data)->sblock.log2_agblk) * (data)->agsize \
+ + ((fsb) & ((1 << (data)->sblock.log2_agblk) - 1)))
+
#define GRUB_XFS_EXTENT_OFFSET(exts,ex) \
((grub_be_to_cpu32 (exts[ex][0]) & ~(1 << 31)) << 23 \
| grub_be_to_cpu32 (exts[ex][1]) >> 9)
if (leaf)
grub_free (leaf);
- return ret;
+ return GRUB_XFS_FSB_TO_BLOCK(node->data, ret);
}