All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guoqing Jiang <guoqing.jiang@linux.dev>
To: Donald Buczek <buczek@molgen.mpg.de>,
	Paul Menzel <pmenzel@molgen.mpg.de>,
	song@kernel.org
Cc: linux-raid@vger.kernel.org, dm-devel@redhat.com,
	it+raid@molgen.mpg.de, snitzer@redhat.com, agk@redhat.com
Subject: Re: [dm-devel] [PATCH V2] md: don't unregister sync_thread with reconfig_mutex held
Date: Fri, 10 Dec 2021 09:06:57 +0800	[thread overview]
Message-ID: <43ae2d60-4f28-07ea-95dc-ae722ca13b23@linux.dev> (raw)
In-Reply-To: <2cefad59-c0fc-d48f-f7a5-5d593931feb7@molgen.mpg.de>



On 12/9/21 8:57 PM, Donald Buczek wrote:
> [Update Guoqing’s email address]
>
> On 15.02.21 12:07, Paul Menzel wrote:
>> [+cc Donald]
>>
>> Am 13.02.21 um 01:49 schrieb Guoqing Jiang:
>>> Unregister sync_thread doesn't need to hold reconfig_mutex since it
>>> doesn't reconfigure array.
>>>
>>> And it could cause deadlock problem for raid5 as follows:
>>>
>>> 1. process A tried to reap sync thread with reconfig_mutex held 
>>> after echo
>>>     idle to sync_action.
>>> 2. raid5 sync thread was blocked if there were too many active stripes.
>>> 3. SB_CHANGE_PENDING was set (because of write IO comes from upper 
>>> layer)
>>>     which causes the number of active stripes can't be decreased.
>>> 4. SB_CHANGE_PENDING can't be cleared since md_check_recovery was 
>>> not able
>>>     to hold reconfig_mutex.
>>>
>>> More details in the link:
>>> https://lore.kernel.org/linux-raid/5ed54ffc-ce82-bf66-4eff-390cb23bc1ac@molgen.mpg.de/T/#t 
>>>
>>>
>>> And add one parameter to md_reap_sync_thread since it could be 
>>> called by
>>> dm-raid which doesn't hold reconfig_mutex.
>>>
>>> Reported-and-tested-by: Donald Buczek <buczek@molgen.mpg.de>
>
> Thanks, Paul, for putting me into the cc.
>
> Guoqing, I don't think, I've tested this patch. Please remove the 
> tested-by.

This version is basically the similar as the change in the thread.

https://lore.kernel.org/linux-raid/5ed54ffc-ce82-bf66-4eff-390cb23bc1ac@molgen.mpg.de/T/#m546d8c55a42f308985b9d31d4be85832edcd15ab

Anyway, I will remove your tested-by per the request if I will update 
the patch.

Thanks,
Guoqing


--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel

WARNING: multiple messages have this Message-ID (diff)
From: Guoqing Jiang <guoqing.jiang@linux.dev>
To: Donald Buczek <buczek@molgen.mpg.de>,
	Paul Menzel <pmenzel@molgen.mpg.de>,
	song@kernel.org
Cc: agk@redhat.com, snitzer@redhat.com, linux-raid@vger.kernel.org,
	dm-devel@redhat.com, it+raid@molgen.mpg.de
Subject: Re: [PATCH V2] md: don't unregister sync_thread with reconfig_mutex held
Date: Fri, 10 Dec 2021 09:06:57 +0800	[thread overview]
Message-ID: <43ae2d60-4f28-07ea-95dc-ae722ca13b23@linux.dev> (raw)
In-Reply-To: <2cefad59-c0fc-d48f-f7a5-5d593931feb7@molgen.mpg.de>



On 12/9/21 8:57 PM, Donald Buczek wrote:
> [Update Guoqing’s email address]
>
> On 15.02.21 12:07, Paul Menzel wrote:
>> [+cc Donald]
>>
>> Am 13.02.21 um 01:49 schrieb Guoqing Jiang:
>>> Unregister sync_thread doesn't need to hold reconfig_mutex since it
>>> doesn't reconfigure array.
>>>
>>> And it could cause deadlock problem for raid5 as follows:
>>>
>>> 1. process A tried to reap sync thread with reconfig_mutex held 
>>> after echo
>>>     idle to sync_action.
>>> 2. raid5 sync thread was blocked if there were too many active stripes.
>>> 3. SB_CHANGE_PENDING was set (because of write IO comes from upper 
>>> layer)
>>>     which causes the number of active stripes can't be decreased.
>>> 4. SB_CHANGE_PENDING can't be cleared since md_check_recovery was 
>>> not able
>>>     to hold reconfig_mutex.
>>>
>>> More details in the link:
>>> https://lore.kernel.org/linux-raid/5ed54ffc-ce82-bf66-4eff-390cb23bc1ac@molgen.mpg.de/T/#t 
>>>
>>>
>>> And add one parameter to md_reap_sync_thread since it could be 
>>> called by
>>> dm-raid which doesn't hold reconfig_mutex.
>>>
>>> Reported-and-tested-by: Donald Buczek <buczek@molgen.mpg.de>
>
> Thanks, Paul, for putting me into the cc.
>
> Guoqing, I don't think, I've tested this patch. Please remove the 
> tested-by.

This version is basically the similar as the change in the thread.

https://lore.kernel.org/linux-raid/5ed54ffc-ce82-bf66-4eff-390cb23bc1ac@molgen.mpg.de/T/#m546d8c55a42f308985b9d31d4be85832edcd15ab

Anyway, I will remove your tested-by per the request if I will update 
the patch.

Thanks,
Guoqing

  reply	other threads:[~2021-12-10  1:07 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-13  0:49 [dm-devel] [PATCH V2] md: don't unregister sync_thread with reconfig_mutex held Guoqing Jiang
2021-02-13  0:49 ` Guoqing Jiang
2021-02-15 11:07 ` [dm-devel] " Paul Menzel
2021-02-15 11:07   ` Paul Menzel
2021-02-24  9:09   ` [dm-devel] " Song Liu
2021-02-24  9:09     ` Song Liu
2021-02-24  9:25     ` [dm-devel] " Guoqing Jiang
2021-02-24  9:25       ` Guoqing Jiang
2021-03-19 23:00       ` [dm-devel] " Song Liu
2021-03-19 23:00         ` Song Liu
2021-11-30 17:25         ` [dm-devel] " Paul Menzel
2021-11-30 17:25           ` Paul Menzel
2021-11-30 17:27           ` [dm-devel] " Paul Menzel
2021-11-30 17:27             ` Paul Menzel
2021-12-08 14:16             ` [dm-devel] " Guoqing Jiang
2021-12-08 14:16               ` Guoqing Jiang
2021-12-08 16:35               ` [dm-devel] " Heinz Mauelshagen
2021-12-09  0:47                 ` Guoqing Jiang
2021-12-09  0:47                   ` Guoqing Jiang
2021-12-09 12:54   ` [dm-devel] " Donald Buczek
2021-12-09 12:54     ` Donald Buczek
2021-12-09 12:57   ` [dm-devel] " Donald Buczek
2021-12-09 12:57     ` Donald Buczek
2021-12-10  1:06     ` Guoqing Jiang [this message]
2021-12-10  1:06       ` Guoqing Jiang
2021-12-10 14:16 ` [dm-devel] " Donald Buczek
2021-12-10 14:16   ` Donald Buczek
2021-12-14  2:34   ` [dm-devel] " Guoqing Jiang
2021-12-14  2:34     ` Guoqing Jiang
2021-12-14  9:31     ` [dm-devel] " Donald Buczek
2021-12-14  9:31       ` Donald Buczek
2021-12-14 10:03       ` [dm-devel] " Guoqing Jiang
2021-12-14 10:03         ` Guoqing Jiang
2021-12-14 12:21         ` [dm-devel] " Donald Buczek
2021-12-14 12:21           ` Donald Buczek
2022-01-11 12:25 ` [dm-devel] " Mikko Rantalainen
2022-01-11 12:25   ` Mikko Rantalainen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43ae2d60-4f28-07ea-95dc-ae722ca13b23@linux.dev \
    --to=guoqing.jiang@linux.dev \
    --cc=agk@redhat.com \
    --cc=buczek@molgen.mpg.de \
    --cc=dm-devel@redhat.com \
    --cc=it+raid@molgen.mpg.de \
    --cc=linux-raid@vger.kernel.org \
    --cc=pmenzel@molgen.mpg.de \
    --cc=snitzer@redhat.com \
    --cc=song@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.