aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2006-03-27 04:18:07 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-27 11:45:01 -0500
commitad01c9e3752f4ba4f3d99c89b7370fa4983a25b5 (patch)
tree856868aa97332d6d15d4cad412e0ebe3576bb571 /drivers/md/md.c
parentb55e6bfcd23cb2f7249095050c649f7aea813f9f (diff)
[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>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index a3ecaf8ed30a..c7b7656f9aa5 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2775,7 +2775,6 @@ static void autorun_array(mddev_t *mddev)
2775 */ 2775 */
2776static void autorun_devices(int part) 2776static void autorun_devices(int part)
2777{ 2777{
2778 struct list_head candidates;
2779 struct list_head *tmp; 2778 struct list_head *tmp;
2780 mdk_rdev_t *rdev0, *rdev; 2779 mdk_rdev_t *rdev0, *rdev;
2781 mddev_t *mddev; 2780 mddev_t *mddev;
@@ -2784,6 +2783,7 @@ static void autorun_devices(int part)
2784 printk(KERN_INFO "md: autorun ...\n"); 2783 printk(KERN_INFO "md: autorun ...\n");
2785 while (!list_empty(&pending_raid_disks)) { 2784 while (!list_empty(&pending_raid_disks)) {
2786 dev_t dev; 2785 dev_t dev;
2786 LIST_HEAD(candidates);
2787 rdev0 = list_entry(pending_raid_disks.next, 2787 rdev0 = list_entry(pending_raid_disks.next,
2788 mdk_rdev_t, same_set); 2788 mdk_rdev_t, same_set);
2789 2789