HomeFreeBSD

Stop mirror synchronization before draining the I/O queue.

Description

Stop mirror synchronization before draining the I/O queue.

Regular I/O requests may be blocked by concurrent synchronization requests
targeted to the same LBAs, in which case they are moved to a holding queue
until the conflicting I/O completes. We therefore want to stop
synchronization before completing pending I/O in g_mirror_destroy_provider()
since this ensures that blocked I/O requests are completed as well.

Tested by: pho
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

Details