[PATCH] md: Allow stripes to be expanded in preparation for expanding an array
authorNeilBrown <neilb@suse.de>
Mon, 27 Mar 2006 09:18:07 +0000 (01:18 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 27 Mar 2006 16:45:01 +0000 (08:45 -0800)
commitad01c9e3752f4ba4f3d99c89b7370fa4983a25b5
tree856868aa97332d6d15d4cad412e0ebe3576bb571
parentb55e6bfcd23cb2f7249095050c649f7aea813f9f
[PATCH] md: Allow stripes to be expanded in preparation for expanding an array

Before a RAID-5 can be expanded, we need to be able to expand the stripe-cache
data structure.

This requires allocating new stripes in a new kmem_cache.  If this succeeds,
we copy cache pages over and release the old stripes and kmem_cache.

We then allocate new pages.  If that fails, we leave the stripe cache at it's
new size.  It isn't worth the effort to shrink it back again.

Unfortuanately this means we need two kmem_cache names as we, for a short
period of time, we have two kmem_caches.  So they are raid5/%s and
raid5/%s-alt

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/md.c
drivers/md/raid5.c
drivers/md/raid6main.c
include/linux/raid/raid5.h