Hi, I looked again at the previous patch I posted which tried to mak md_update_sb() safe without taking reconfig_mutex, and realized that it had serious problems, particularly around devices being added or removed while the update was happening. So I decided to try a different approach, which is embodied in these patches. The md thread is now explicitly allowed to call md_update_sb() while some other thread holds the lock and waits for mddev_suspend() to complete. Please test these and confirm that they still address the problem you found. Thanks, NeilBrown --- NeilBrown (4): md: always hold reconfig_mutex when calling mddev_suspend() md: don't call bitmap_create() while array is quiesced. md: use mddev_suspend/resume instead of ->quiesce() md: allow metadata update while suspending. drivers/md/dm-raid.c | 5 ++++- drivers/md/md.c | 45 ++++++++++++++++++++++++++++++++------------- drivers/md/md.h | 6 ++++++ drivers/md/raid5-cache.c | 2 ++ 4 files changed, 44 insertions(+), 14 deletions(-) -- Signature -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html