diff options
author | NeilBrown <neilb@suse.de> | 2014-07-21 16:51:53 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2014-07-21 16:51:53 +1000 |
commit | 4e9a3dd16d656b269f5602624ac4f7109a571368 (patch) | |
tree | 4c25d113353d17ddc61ca73a6a7828f00e00d7f4 | |
parent | d31ad6439e2746d6d16d2e6eac771b138e5428c9 (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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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 */ |