[PATCH] fix UFS superblock alignment issues
ufs2 fails to mount on x86_64, claiming bad magic. This is because ufs_super_block_third's fs_un1 member is padded out by 4 bytes for 8-byte alignment, pushing down the rest of the struct. Forcing this to be packed solves it. I took a quick look over other on-disk structures and didn't immediately find other problems. I was able to mount & ls a populated ufs2 filesystem w/ this change. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Cc: Evgeniy Dushistov <dushistov@mail.ru> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
941c7105dc
commit
86f4f0f9ba
@ -908,7 +908,7 @@ struct ufs_super_block_third {
|
||||
__fs64 fs_csaddr; /* blk addr of cyl grp summary area */
|
||||
__fs64 fs_pendingblocks;/* blocks in process of being freed */
|
||||
__fs32 fs_pendinginodes;/*inodes in process of being freed */
|
||||
} fs_u2;
|
||||
} __attribute__ ((packed)) fs_u2;
|
||||
} fs_un1;
|
||||
union {
|
||||
struct {
|
||||
|
Loading…
Reference in New Issue
Block a user