aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@cse.unsw.edu.au>2005-06-21 20:17:28 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-21 22:07:47 -0400
commit39730960d94306d7be414e8d54f4e5c071af1278 (patch)
treee12516ecea53d782f845717f53ffa304be69aa37
parent7bfa19f2748000d646dbdf8f48258cfe1d257b52 (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.c2
-rw-r--r--include/linux/raid/md_p.h2
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 */