mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
md/raid5: don't record new size if resize_stripes fails.
commit6e9eac2dceupstream. If any memory allocation in resize_stripes fails we will return -ENOMEM, but in some cases we update conf->pool_size anyway. This means that if we try again, the allocations will be assumed to be larger than they are, and badness results. So only update pool_size if there is no error. This bug was introduced in 2.6.17 and the patch is suitable for -stable. Fixes:ad01c9e375("[PATCH] md: Allow stripes to be expanded in preparation for expanding an array") Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c709ca10c5
commit
3763b3c77e
@@ -1701,7 +1701,8 @@ static int resize_stripes(struct r5conf *conf, int newsize)
|
||||
|
||||
conf->slab_cache = sc;
|
||||
conf->active_name = 1-conf->active_name;
|
||||
conf->pool_size = newsize;
|
||||
if (!err)
|
||||
conf->pool_size = newsize;
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user