]> git.ipfire.org Git - thirdparty/mdadm.git/commit - msg.c
ping_manager() to prevent 'add' before 'remove' completes
authorDan Williams <dan.j.williams@intel.com>
Tue, 16 Sep 2008 03:58:43 +0000 (20:58 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 16 Sep 2008 03:58:43 +0000 (20:58 -0700)
commit313a4a82f130e6668ba0f4550200662e168aa945
tree56f6b17ba26b00684153bbbc976dd1c1f825b122
parent4795982e68f72ef44bd29c9883e5f6291088a3e1
ping_manager() to prevent 'add' before 'remove' completes

It is currently possible to remove a device and re-add it without the
manager noticing, i.e. without detecting a mdstat->devcnt
container->devcnt mismatch.  Introduce ping_manager() to arrange for
mdmon to run manage_container() prior to mdadm dropping the exclusive
open() on the container.  Despite these precautions sysfs_read() may
still fail.  If this happens invalidate container->devcnt to ensure
manage_container() runs at the next event.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Manage.c
managemon.c
msg.c
msg.h