Thread (49 messages) 49 messages, 8 authors, 2023-09-25

Re: md_raid: mdX_raid6 looping after sync_action "check" to "idle" transition

From: Guoqing Jiang <hidden>
Date: 2021-02-09 00:48:26
Also in: lkml

Hi Donald,

On 2/8/21 19:41, Donald Buczek wrote:
Dear Guoqing,

On 08.02.21 15:53, Guoqing Jiang wrote:
quoted

On 2/8/21 12:38, Donald Buczek wrote:
quoted
quoted
5. maybe don't hold reconfig_mutex when try to unregister 
sync_thread, like this.

         /* resync has finished, collect result */
         mddev_unlock(mddev);
         md_unregister_thread(&mddev->sync_thread);
         mddev_lock(mddev);
As above: While we wait for the sync thread to terminate, wouldn't it 
be a problem, if another user space operation takes the mutex?
I don't think other places can be blocked while hold mutex, otherwise 
these places can cause potential deadlock. Please try above two lines 
change. And perhaps others have better idea.
Yes, this works. No deadlock after >11000 seconds,

(Time till deadlock from previous runs/seconds: 1723, 37, 434, 1265, 
3500, 1136, 109, 1892, 1060, 664, 84, 315, 12, 820 )
Great. I will send a formal patch with your reported-by and tested-by.

Thanks,
Guoqing
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help