All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars Ellenberg <lars.ellenberg@linbit.com>
To: Valentin Vidic <Valentin.Vidic@CARNet.hr>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>,
	"Jens Axboe" <axboe@kernel.dk>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	linux-block@vger.kernel.org, xen-devel@lists.xenproject.org,
	drbd-user@lists.linbit.com
Subject: Re: [DRBD-user] [PATCH] xen-blkback: Switch to closed state after releasing the backing device
Date: Fri, 7 Sep 2018 14:03:37 +0200	[thread overview]
Message-ID: <20180907120337.GB11834@soda.linbit> (raw)
In-Reply-To: <20180905162756.GA26705@gavran.carpriv.carnet.hr>

On Wed, Sep 05, 2018 at 06:27:56PM +0200, Valentin Vidic wrote:
> On Wed, Sep 05, 2018 at 12:36:49PM +0200, Roger Pau Monn� wrote:
> > On Wed, Aug 29, 2018 at 08:52:14AM +0200, Valentin Vidic wrote:
> > > Switching to closed state earlier can cause the block-drbd
> > > script to fail with 'Device is held open by someone':
> > > 
> > > root: /etc/xen/scripts/block-drbd: remove XENBUS_PATH=backend/vbd/6/51712
> > > kernel: [ 2222.278235] block drbd6: State change failed: Device is held open by someone
> > > kernel: [ 2222.278304] block drbd6:   state = { cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate r----- }
> > > kernel: [ 2222.278340] block drbd6:  wanted = { cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate r----- }
> > > root: /etc/xen/scripts/block-drbd: Writing backend/vbd/6/51712/hotplug-error /etc/xen/scripts/block-drbd failed; error detected. backend/vbd/6/51712/hotplug-status error to xenstore.
> > > root: /etc/xen/scripts/block-drbd: /etc/xen/scripts/block-drbd failed; error detected.

Very frequently it is *NOT* the "original user", that "still" holds it
open, but udev, or something triggered-by-udev.

So double-checking the udev rules,
or the "lvm global_filter" settings may help.
You could instrument DRBD to log current->{pid,comm} on open and close,
so you can better detect who the "someone" is in the message above.

Adding a small retry loop in the script may help as well.

As a side note, 
with DRBD 9 (which still moves too fast to be "in tree")
we have the "auto-promote" feature, where no explicit promotion/demotion
is necessary anymore, but DRBD (tries to) promote itself with the
first "RW" opener, and demote itself once the last opener is gone.


Hth,
    Lars

WARNING: multiple messages have this Message-ID (diff)
From: Lars Ellenberg <lars.ellenberg@linbit.com>
To: Valentin Vidic <Valentin.Vidic@CARNet.hr>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>,
	"Jens Axboe" <axboe@kernel.dk>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	linux-block@vger.kernel.org, xen-devel@lists.xenproject.org,
	drbd-user@lists.linbit.com
Subject: Re: [DRBD-user] [PATCH] xen-blkback: Switch to closed state after releasing the backing device
Date: Fri, 7 Sep 2018 14:03:37 +0200	[thread overview]
Message-ID: <20180907120337.GB11834@soda.linbit> (raw)
In-Reply-To: <20180905162756.GA26705@gavran.carpriv.carnet.hr>

On Wed, Sep 05, 2018 at 06:27:56PM +0200, Valentin Vidic wrote:
> On Wed, Sep 05, 2018 at 12:36:49PM +0200, Roger Pau Monné wrote:
> > On Wed, Aug 29, 2018 at 08:52:14AM +0200, Valentin Vidic wrote:
> > > Switching to closed state earlier can cause the block-drbd
> > > script to fail with 'Device is held open by someone':
> > > 
> > > root: /etc/xen/scripts/block-drbd: remove XENBUS_PATH=backend/vbd/6/51712
> > > kernel: [ 2222.278235] block drbd6: State change failed: Device is held open by someone
> > > kernel: [ 2222.278304] block drbd6:   state = { cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate r----- }
> > > kernel: [ 2222.278340] block drbd6:  wanted = { cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate r----- }
> > > root: /etc/xen/scripts/block-drbd: Writing backend/vbd/6/51712/hotplug-error /etc/xen/scripts/block-drbd failed; error detected. backend/vbd/6/51712/hotplug-status error to xenstore.
> > > root: /etc/xen/scripts/block-drbd: /etc/xen/scripts/block-drbd failed; error detected.

Very frequently it is *NOT* the "original user", that "still" holds it
open, but udev, or something triggered-by-udev.

So double-checking the udev rules,
or the "lvm global_filter" settings may help.
You could instrument DRBD to log current->{pid,comm} on open and close,
so you can better detect who the "someone" is in the message above.

Adding a small retry loop in the script may help as well.

As a side note, 
with DRBD 9 (which still moves too fast to be "in tree")
we have the "auto-promote" feature, where no explicit promotion/demotion
is necessary anymore, but DRBD (tries to) promote itself with the
first "RW" opener, and demote itself once the last opener is gone.


Hth,
    Lars

  parent reply	other threads:[~2018-09-07 12:03 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-29  6:52 [PATCH] xen-blkback: Switch to closed state after releasing the backing device Valentin Vidic
2018-08-29  6:52 ` Valentin Vidic
2018-08-29  8:16 ` Juergen Gross
2018-08-29  8:27   ` Valentin Vidic
2018-08-29  8:27   ` Valentin Vidic
2018-08-29  8:43     ` Juergen Gross
2018-08-29  9:23       ` Valentin Vidic
2018-08-29  9:23       ` Valentin Vidic
2018-08-29  9:29         ` Juergen Gross
2018-08-29  9:29         ` Juergen Gross
2018-08-29  8:43     ` Juergen Gross
2018-08-29  8:16 ` Juergen Gross
2018-09-05 10:36 ` Roger Pau Monné
2018-09-05 10:36 ` Roger Pau Monné
2018-09-05 16:27   ` Valentin Vidic
2018-09-05 16:27     ` Valentin Vidic
2018-09-05 16:27     ` Valentin Vidic
2018-09-06 16:14     ` Roger Pau Monné
2018-09-06 16:14     ` Roger Pau Monné
2018-09-06 16:14       ` Roger Pau Monné
2018-09-06 22:03       ` Valentin Vidic
2018-09-06 22:03         ` Valentin Vidic
2018-09-06 22:03       ` Valentin Vidic
2018-09-07 12:03     ` [DRBD-user] " Lars Ellenberg
2018-09-07 12:03     ` Lars Ellenberg [this message]
2018-09-07 12:03       ` Lars Ellenberg
2018-09-07 12:13       ` Valentin Vidic
2018-09-07 12:13       ` Valentin Vidic
2018-09-07 13:28         ` Lars Ellenberg
2018-09-07 13:28         ` Lars Ellenberg
2018-09-07 16:45           ` Valentin Vidic
2018-09-07 16:45           ` Valentin Vidic
2018-09-07 17:14             ` Valentin Vidic
2018-09-07 17:14             ` Valentin Vidic
2018-09-08  7:34               ` Valentin Vidic
2018-09-10 12:45                 ` Lars Ellenberg
2018-09-10 12:45                 ` Lars Ellenberg
2018-09-10 13:22                   ` Valentin Vidic
2018-09-10 13:22                   ` Valentin Vidic
2018-09-10 15:00                     ` Roger Pau Monné
2018-09-10 15:00                     ` Roger Pau Monné
2018-09-10 16:18                       ` Valentin Vidic
2018-09-10 16:18                       ` Valentin Vidic
2018-09-10 16:18                         ` Valentin Vidic
2018-09-13 15:08                         ` Roger Pau Monné
2018-09-13 15:08                         ` Roger Pau Monné
2018-09-13 15:08                           ` Roger Pau Monné
2018-09-14 11:49                           ` Valentin Vidic
2018-09-14 11:49                             ` Valentin Vidic
2018-09-14 16:18                             ` Roger Pau Monné
2018-09-14 16:18                               ` Roger Pau Monné
2018-09-14 16:18                             ` Roger Pau Monné
2018-09-14 11:49                           ` Valentin Vidic
2018-09-08  7:34               ` Valentin Vidic
2018-09-05 16:27   ` Valentin Vidic
     [not found]   ` <20180905113515.GU26705@gavran.carpriv.carnet.hr>
2018-09-05 16:28     ` Valentin Vidic
2018-09-06 16:29       ` Roger Pau Monné
2018-09-06 16:29       ` Roger Pau Monné
2018-09-06 22:19         ` Valentin Vidic
2018-09-06 22:19         ` Valentin Vidic
2018-09-06 22:19           ` Valentin Vidic
2018-09-07  7:15           ` Roger Pau Monné
2018-09-07  7:15           ` Roger Pau Monné
2018-09-07  7:15             ` Roger Pau Monné
2018-09-07  7:23             ` Valentin Vidic
2018-09-07  7:23               ` Valentin Vidic
2018-09-07  7:54               ` Roger Pau Monné
2018-09-07  7:54               ` Roger Pau Monné
2018-09-07  7:54                 ` Roger Pau Monné
2018-09-07 10:20                 ` Valentin Vidic
2018-09-07 10:20                 ` Valentin Vidic
2018-09-07 10:20                   ` Valentin Vidic
2018-09-07 10:43                   ` Roger Pau Monné
2018-09-07 10:43                   ` Roger Pau Monné
2018-09-07 10:43                     ` Roger Pau Monné
2018-09-07 11:15                     ` Valentin Vidic
2018-09-07 11:15                       ` Valentin Vidic
2018-09-07 11:15                     ` Valentin Vidic
2018-09-07  7:23             ` Valentin Vidic
2018-09-05 16:28     ` Valentin Vidic

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=20180907120337.GB11834@soda.linbit \
    --to=lars.ellenberg@linbit.com \
    --cc=Valentin.Vidic@CARNet.hr \
    --cc=axboe@kernel.dk \
    --cc=drbd-user@lists.linbit.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=roger.pau@citrix.com \
    --cc=stable@vger.kernel.org \
    --cc=xen-devel@lists.xenproject.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.