From: NeilBrown Date: Mon, 12 Oct 2009 05:55:12 +0000 (+1100) Subject: Grow: make sure bsb2 is properly aligned X-Git-Tag: mdadm-3.1~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fdf37e35783a00ded31a7287785451134c9ca26;p=thirdparty%2Fmdadm.git Grow: make sure bsb2 is properly aligned We do O_DIRECT io in bsb2, so it must be aligned properly. Easiest if it is static. Signed-off-by: NeilBrown --- diff --git a/Grow.c b/Grow.c index 5ebb482e..e3239d64 100644 --- a/Grow.c +++ b/Grow.c @@ -387,7 +387,7 @@ int Grow_addbitmap(char *devname, int fd, char *file, int chunk, int delay, int * It has the following structure. */ -struct mdp_backup_super { +static struct mdp_backup_super { char magic[16]; /* md_backup_data-1 or -2 */ __u8 set_uuid[16]; __u64 mtime; @@ -402,7 +402,7 @@ struct mdp_backup_super { __u64 length2; __u32 sb_csum2; /* csum of preceeding bytes. */ __u8 pad[512-68-32]; -} __attribute__((aligned(512))) bsb; +} __attribute__((aligned(512))) bsb, bsb2; int bsb_csum(char *buf, int len) { @@ -1331,7 +1331,6 @@ static void validate(int afd, int bfd, unsigned long long offset) * This is only used for regression testing and should not * be used while the array is active */ - struct mdp_backup_super bsb2; if (afd < 0) return; lseek64(bfd, offset - 4096, 0);