From: NeilBrown Date: Tue, 11 Dec 2012 02:35:54 +0000 (+1100) Subject: md: close race between removing and adding a device. X-Git-Tag: v3.8-rc1~73^2~9 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7a3f08dc24690ae00c75cfe4b4701a970dd0155;p=pandora-kernel.git md: close race between removing and adding a device. When we remove a device from an md array, the final removal of the "dev-XX" sys entry is run asynchronously. If we then re-add that device immediately before the worker thread gets to run, we can end up trying to add the "dev-XX" sysfs entry back before it has been removed. So in both places where we add a device, call flush_workqueue(md_misc_wq); before taking the md lock (as holding the md lock can prevent removal to complete). Signed-off-by: NeilBrown --- Reading git-diff-tree failed