On 09/12/2017 09:49 AM, NeilBrown wrote:
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.
Could you explain this in detail? What's the serious problems? Regards Xiao
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