[Ocfs2-tools-devel] [PATCH] Swap hdr_superblkcnt before using
Goldwyn Rodrigues
rgoldwyn at gmail.com
Mon Jan 14 15:29:57 PST 2013
Swap hdr_superblkcnt before using in a loop.
This fixes a bug in o2image restore in big-endian archs.
Signed-off-by: Goldwyn Rodrigues <rgoldwyn at suse.de>
---
diff --git a/libocfs2/image.c b/libocfs2/image.c
index 41d1a53..ae339eb 100644
--- a/libocfs2/image.c
+++ b/libocfs2/image.c
@@ -48,6 +48,8 @@ void ocfs2_image_swap_header(struct ocfs2_image_hdr *hdr)
if (cpu_is_little_endian)
return;
+ hdr->hdr_superblkcnt = bswap_64(hdr->hdr_superblkcnt);
+
for (i = 0; i < hdr->hdr_superblkcnt; i++)
hdr->hdr_superblocks[i] = bswap_64(hdr->hdr_superblocks[i]);
@@ -58,7 +60,6 @@ void ocfs2_image_swap_header(struct ocfs2_image_hdr *hdr)
hdr->hdr_fsblksz = bswap_64(hdr->hdr_fsblksz);
hdr->hdr_imgblkcnt = bswap_64(hdr->hdr_imgblkcnt);
hdr->hdr_bmpblksz = bswap_64(hdr->hdr_bmpblksz);
- hdr->hdr_superblkcnt = bswap_64(hdr->hdr_superblkcnt);
}
errcode_t ocfs2_image_free_bitmap(ocfs2_filesys *ofs)
More information about the Ocfs2-tools-devel
mailing list