summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2014-07-21 16:51:53 +1000
committerNeilBrown <neilb@suse.de>2014-07-21 16:51:53 +1000
commit4e9a3dd16d656b269f5602624ac4f7109a571368 (patch)
tree4c25d113353d17ddc61ca73a6a7828f00e00d7f4
parentd31ad6439e2746d6d16d2e6eac771b138e5428c9 (diff)
Grow: fix that preventing resize of array to 32bit size.
If the request --size to --grow an array to is 32bits (i.e. msb in bit 32) then mdadm make wrong choice and uses ioctl instead of setting component_size via sysfs and the change is ignored. This is fixed by using correct casts. Reported-and-tested-by: Killian De Volder <killian.de.volder@megasoft.be> Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--Grow.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Grow.c b/Grow.c
index ea9cc60e..af59347c 100644
--- a/Grow.c
+++ b/Grow.c
@@ -1813,7 +1813,7 @@ int Grow_reshape(char *devname, int fd,
if (s->size == MAX_SIZE)
s->size = 0;
array.size = s->size;
- if ((unsigned)array.size != s->size) {
+ if (array.size != (signed)s->size) {
/* got truncated to 32bit, write to
* component_size instead
*/