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
next prev parent 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.