All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luis Henriques <luis.henriques@canonical.com>
To: Jonghwan Choi <jhbird.choi@samsung.com>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	"'Philipp Reisner'" <philipp.reisner@linbit.com>,
	"'Lars Ellenberg'" <lars.ellenberg@linbit.com>
Subject: Re: [PATCH 3.9-stable ]drbd: fix for deadlock when using automatic split-brain-recovery
Date: Tue, 14 May 2013 13:56:55 +0100	[thread overview]
Message-ID: <20130514125655.GG5196@hercules> (raw)
In-Reply-To: <003801ce4c41$d52a0890$7f7e19b0$%choi@samsung.com>

On Thu, May 09, 2013 at 08:14:47AM +0900, Jonghwan Choi wrote:
> This patch looks like it should be in the 3.9-stable tree, should we apply
> it?

This seems to be applicable to older kernels as well (starting with
3.0 at least).

I'm queuing it for 3.5.

Cheers,
--
Luis

> 
> ------------------
> 
> From: "Philipp Reisner <philipp.reisner@linbit.com>"
> 
> commit 7c689e63a847316c1b2500f86891b0a574ce7e69 upstream
> 
> With an automatic after split-brain recovery policy of
> "after-sb-1pri call-pri-lost-after-sb",
> when trying to drbd_set_role() to R_SECONDARY,
> we run into a deadlock.
> 
> This was first recognized and supposedly fixed by
> 2009-06-10 "Fixed a deadlock when using automatic split brain recovery when
> both nodes are"
> replacing drbd_set_role() with drbd_change_state() in that code-path,
> but the first hunk of that patch forgets to remove the drbd_set_role().
> 
> We apparently only ever tested the "two primaries" case.
> 
> Cc: <stable@vger.kernel.org> # 3.9.x: ef57f9e6: drbd: Fix build error
> Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
> ---
>  drivers/block/drbd/drbd_receiver.c |    1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/block/drbd/drbd_receiver.c
> b/drivers/block/drbd/drbd_receiver.c
> index a9eccfc..5105f43 100644
> --- a/drivers/block/drbd/drbd_receiver.c
> +++ b/drivers/block/drbd/drbd_receiver.c
> @@ -2661,7 +2661,6 @@ static int drbd_asb_recover_1p(struct drbd_conf *mdev)
> __must_hold(local)
>  		if (hg == -1 && mdev->state.role == R_PRIMARY) {
>  			enum drbd_state_rv rv2;
>  
> -			drbd_set_role(mdev, R_SECONDARY, 0);
>  			 /* drbd_change_state() does not sleep while in
> SS_IN_TRANSIENT_STATE,
>  			  * we might be here in C_WF_REPORT_PARAMS which is
> transient.
>  			  * we do not need to wait for the after state
> change work either. */
> -- 
> 1.7.9.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2013-05-14 12:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-08 23:14 [PATCH 3.9-stable ]drbd: fix for deadlock when using automatic split-brain-recovery Jonghwan Choi
2013-05-10  8:18 ` Philipp Reisner
2013-05-14 12:56 ` Luis Henriques [this message]
2013-05-14 13:25   ` 'Lars Ellenberg'
2013-05-28  2:03     ` Ben Hutchings

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=20130514125655.GG5196@hercules \
    --to=luis.henriques@canonical.com \
    --cc=jhbird.choi@samsung.com \
    --cc=lars.ellenberg@linbit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=philipp.reisner@linbit.com \
    --cc=stable@vger.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.