Retry HOT_REMOVE_DISK a few times.
authorNeilBrown <neilb@suse.com>
Mon, 27 Mar 2017 01:50:16 +0000 (12:50 +1100)
committerJes Sorensen <Jes.Sorensen@gmail.com>
Tue, 28 Mar 2017 18:25:23 +0000 (14:25 -0400)
commit2dd271fe7041c2f7036939cf6917c0578b92fefe
tree65e5f3c63b4279cb37849b933258fa795bba246c
parent3a77acd7170199adc690332ded37c41f067c720e
Retry HOT_REMOVE_DISK a few times.

HOT_REMOVE_DISK can fail with EBUSY if there are outstanding
IO request that have not completed yet.  It can sometimes
be helpful to wait a little while for these to complete.

We already do this in impose_level() when reshaping a device,
but not in Manage.c in response to an explicit --remove request.

So create hot_remove_disk() to central this code, and call it
where-ever it makes sense to wait for a HOT_REMOVE_DISK to succeed.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
Grow.c
Manage.c
mdadm.h
util.c