diff options
author | NeilBrown <neilb@suse.de> | 2006-03-27 04:18:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-27 11:45:01 -0500 |
commit | ad01c9e3752f4ba4f3d99c89b7370fa4983a25b5 (patch) | |
tree | 856868aa97332d6d15d4cad412e0ebe3576bb571 /drivers/md/md.c | |
parent | b55e6bfcd23cb2f7249095050c649f7aea813f9f (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.c | 2 |
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 | */ |
2776 | static void autorun_devices(int part) | 2776 | static 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 | ||