public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* cluster: RHEL5 - gfs2_edit produces unaligned access
@ 2009-07-19 4:44 Bob Peterson
0 siblings, 0 replies; only message in thread
From: Bob Peterson @ 2009-07-19 4:44 UTC (permalink / raw)
To: cluster-cvs-relay
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=3a7d9047ac8192bd621dfc8ef22918070faafb67
Commit: 3a7d9047ac8192bd621dfc8ef22918070faafb67
Parent: c4344d672a442a24a176706ab3be71f8098dc33e
Author: Bob Peterson <rpeterso@redhat.com>
AuthorDate: Sat Jul 18 22:44:31 2009 -0500
Committer: Bob Peterson <rpeterso@redhat.com>
CommitterDate: Sat Jul 18 22:44:31 2009 -0500
gfs2_edit produces unaligned access
bz 503530
---
gfs2/edit/hexedit.c | 5 ++---
gfs2/edit/savemeta.c | 10 +++++++---
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index 38274c2..5937663 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -872,9 +872,8 @@ void rgcount(void)
/* ------------------------------------------------------------------------ */
uint64_t find_rgrp_block(struct gfs2_inode *di, int rg)
{
- char buf[sizeof(struct gfs2_rindex)];
int amt;
- struct gfs2_rindex ri;
+ struct gfs2_rindex buf, ri;
uint64_t offset, gfs1_adj = 0;
offset = rg * risize();
@@ -889,7 +888,7 @@ uint64_t find_rgrp_block(struct gfs2_inode *di, int rg)
amt = gfs2_readi(di, (void *)&buf, offset + gfs1_adj, risize());
if (!amt) /* end of file */
return 0;
- gfs2_rindex_in(&ri, buf);
+ gfs2_rindex_in(&ri, (void *)&buf);
return ri.ri_addr;
}
diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index 3a058fb..01d2bc3 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -66,12 +66,13 @@ uint64_t masterblock(const char *fn);
*/
int get_gfs_struct_info(char *buf, int *block_type, int *struct_len)
{
- struct gfs2_meta_header mh;
+ struct gfs2_meta_header mh, mhbuf;
*block_type = 0;
*struct_len = sbd.bsize;
- gfs2_meta_header_in(&mh, buf);
+ memcpy(&mhbuf, buf, sizeof(mhbuf));
+ gfs2_meta_header_in(&mh, (void *)&mhbuf);
if (mh.mh_magic != GFS2_MAGIC)
return -1;
@@ -736,7 +737,10 @@ int restore_data(int fd, int in_fd, int printblocksonly)
do_read(in_fd, savedata->buf,
savedata->siglen);
if (first) {
- gfs2_sb_in(&sbd.sd_sb, savedata->buf);
+ struct gfs2_sb bufsb;
+
+ memcpy(&bufsb, savedata->buf, sizeof(bufsb));
+ gfs2_sb_in(&sbd.sd_sb, (void *)&bufsb);
sbd1 = (struct gfs_sb *)&sbd.sd_sb;
if (sbd1->sb_fs_format == GFS_FORMAT_FS &&
sbd1->sb_header.mh_type ==
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-07-19 4:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-19 4:44 cluster: RHEL5 - gfs2_edit produces unaligned access Bob Peterson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).