The unique portion of the kmem_cache name used when dm-raid is creating a RAID 4/5/6 array is the memory address of it's associated 'mddev' structure. This is not always unique. The memory associated with the 'mddev' structure can be freed and a future 'mddev' structure can be allocated from the exact same spot. This causes an identical name to the old cache to be created when kmem_cache_create is called. If an old name is still present amoung slab_caches due to cache merging, the call will fail. This is not theoretical, I see this regularly when performing device-mapper RAID 4/5/6 tests (although, strangely only on Fedora-19). Making the unique portion of the kmem_cache name based on jiffies fixes this problem. Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> --- drivers/md/raid5.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 7ff4f25..f731ce9 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -1618,7 +1618,7 @@ static int grow_stripes(struct r5conf *conf, int num) "raid%d-%s", conf->level, mdname(conf->mddev)); else sprintf(conf->cache_name[0], - "raid%d-%p", conf->level, conf->mddev); + "raid%d-%llu", conf->level, get_jiffies_64()); sprintf(conf->cache_name[1], "%s-alt", conf->cache_name[0]); conf->active_name = 0; -- 1.7.7.6 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>