diff options
author | NeilBrown <neilb@cse.unsw.edu.au> | 2005-06-21 20:17:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-21 22:07:47 -0400 |
commit | 39730960d94306d7be414e8d54f4e5c071af1278 (patch) | |
tree | e12516ecea53d782f845717f53ffa304be69aa37 | |
parent | 7bfa19f2748000d646dbdf8f48258cfe1d257b52 (diff) |
[PATCH] Two small fixes for md verion-1 superblocks.
1/ Must typecast int to (sector_t) before inverting or we
might not invert enough bits.
2/ When "bitmap_offset" was added to mdp_superblock_1, we didn't increase
the count of words-used (96 to 100).
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/md/md.c | 2 | ||||
-rw-r--r-- | include/linux/raid/md_p.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index ef3ad99562c1..65fab74ad737 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -847,7 +847,7 @@ static int super_1_load(mdk_rdev_t *rdev, mdk_rdev_t *refdev, int minor_version) | |||
847 | case 0: | 847 | case 0: |
848 | sb_offset = rdev->bdev->bd_inode->i_size >> 9; | 848 | sb_offset = rdev->bdev->bd_inode->i_size >> 9; |
849 | sb_offset -= 8*2; | 849 | sb_offset -= 8*2; |
850 | sb_offset &= ~(4*2-1); | 850 | sb_offset &= ~(sector_t)(4*2-1); |
851 | /* convert from sectors to K */ | 851 | /* convert from sectors to K */ |
852 | sb_offset /= 2; | 852 | sb_offset /= 2; |
853 | break; | 853 | break; |
diff --git a/include/linux/raid/md_p.h b/include/linux/raid/md_p.h index 8e592a25a8b5..dc65cd435494 100644 --- a/include/linux/raid/md_p.h +++ b/include/linux/raid/md_p.h | |||
@@ -202,7 +202,7 @@ struct mdp_superblock_1 { | |||
202 | * NOTE: signed, so bitmap can be before superblock | 202 | * NOTE: signed, so bitmap can be before superblock |
203 | * only meaningful of feature_map[0] is set. | 203 | * only meaningful of feature_map[0] is set. |
204 | */ | 204 | */ |
205 | __u8 pad1[128-96]; /* set to 0 when written */ | 205 | __u8 pad1[128-100]; /* set to 0 when written */ |
206 | 206 | ||
207 | /* constant this-device information - 64 bytes */ | 207 | /* constant this-device information - 64 bytes */ |
208 | __u64 data_offset; /* sector start of data, often 0 */ | 208 | __u64 data_offset; /* sector start of data, often 0 */ |