Neil Brown: Fix possible bug with bitmap space allocation with v1. 0 metadata
Martin F. Krafft
madduck at alioth.debian.org
Wed Jun 25 15:42:26 UTC 2008
Module: mdadm
Branch: build
Commit: 519561f73f7ba987affde8b174d2691bb098439d
URL: http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=519561f73f7ba987affde8b174d2691bb098439d
Author: Neil Brown <neilb at suse.de>
Date: Tue Apr 29 17:13:53 2008 +1000
Fix possible bug with bitmap space allocation with v1.0 metadata
When adding a device to an array, make sure we don't reserve
so much space for the bitmap that there isn't room for the data.
---
md.4 | 12 ++++++------
mdadm.conf.5 | 12 ++++++------
super1.c | 4 +++-
3 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/md.4 b/md.4
index db39aba..fb7267f 100644
--- a/md.4
+++ b/md.4
@@ -1,9 +1,9 @@
-''' Copyright Neil Brown and others.
-''' This program is free software; you can redistribute it and/or modify
-''' it under the terms of the GNU General Public License as published by
-''' the Free Software Foundation; either version 2 of the License, or
-''' (at your option) any later version.
-''' See file COPYING in distribution for details.
+.\" Copyright Neil Brown and others.
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\" See file COPYING in distribution for details.
.TH MD 4
.SH NAME
md \- Multiple Device driver aka Linux Software RAID
diff --git a/mdadm.conf.5 b/mdadm.conf.5
index 4807055..aadfb23 100644
--- a/mdadm.conf.5
+++ b/mdadm.conf.5
@@ -1,9 +1,9 @@
-''' Copyright Neil Brown and others.
-''' This program is free software; you can redistribute it and/or modify
-''' it under the terms of the GNU General Public License as published by
-''' the Free Software Foundation; either version 2 of the License, or
-''' (at your option) any later version.
-''' See file COPYING in distribution for details.
+.\" Copyright Neil Brown and others.
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\" See file COPYING in distribution for details.
.TH MDADM.CONF 5
.SH NAME
mdadm.conf \- configuration for management of Software RAID with mdadm
diff --git a/super1.c b/super1.c
index 887db10..7ea6958 100644
--- a/super1.c
+++ b/super1.c
@@ -905,7 +905,7 @@ static int write_init_super1(struct supertype *st,
* for a bitmap.
*/
array_size = __le64_to_cpu(sb->size);
- /* work out how much space we left of a bitmap */
+ /* work out how much space we left for a bitmap */
bm_space = choose_bm_space(array_size);
switch(st->minor_version) {
@@ -915,6 +915,8 @@ static int write_init_super1(struct supertype *st,
sb_offset &= ~(4*2-1);
sb->super_offset = __cpu_to_le64(sb_offset);
sb->data_offset = __cpu_to_le64(0);
+ if (sb_offset - bm_space < array_size)
+ bm_space = sb_offset - array_size;
sb->data_size = __cpu_to_le64(sb_offset - bm_space);
break;
case 1:
More information about the pkg-mdadm-commits
mailing list