All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tore Anderson <tore@linpro.no>
To: device-mapper development <dm-devel@redhat.com>
Subject: Re: Resizing multipath maps: reload ioctl failed: Invalid argument
Date: Mon, 27 Aug 2007 20:47:00 +0200	[thread overview]
Message-ID: <46D31C24.4030201@linpro.no> (raw)
In-Reply-To: <46D2ED07.2080003@ce.jp.nec.com>


   Hello,

* Jun'ichi Nomura

> It's due to kernel device-mapper restriction.
> 
> multipath-tools uses no_flush suspend of device-mapper device to save
> I/O errors in all-paths-down case. (Without the option, device-mapper
> needs to flush all pending I/Os, that will result in I/O errors if
> there is no working path.)
> 
> For no_flush suspend, resizing is disabled because of known
> dead-lock: it requires a lock that can be kept hold until the pending
> I/Os are flushed.

   Hmm.  So this deadlock is a kernel bug that (hopefully) will be fixed
  in the future, so resizing can again be enabled, or is this a design
  limitation that it's impossible to do something about?

   Can the no_flush thing be toggled online;  that is, would it be
  possible to alter multipath-tools so that when it attempted to resize a
  map, it would disable no_flush, resize it, and then re-enable it?  I
  think a two-second window of vulnerability to all-paths-down is
  acceptable...

   Similarily, if this no_flush option is relevant only when
  features=queue_if_no_paths (at least that's the impression I get from
  your description of it), would it work to temporarily reload the map
  without this feature, resize the volume, than re-add queue_if_no_path?

> A workaround for it would be using modified multipath-tools which
> doesn't use no_noflush.

   I grepped for noflush and no_flush (and so on) in the multipath-tools
  source code but can't really find where it is set..?

Thanks
-- 
Tore Anderson

  reply	other threads:[~2007-08-27 18:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-27 13:02 Resizing multipath maps: reload ioctl failed: Invalid argument Tore Anderson
2007-08-27 15:25 ` Jun'ichi Nomura
2007-08-27 18:47   ` Tore Anderson [this message]
2007-08-27 20:29     ` Jun'ichi Nomura
     [not found]       ` <46D33FA6.5000304@linpro.no>
2007-08-27 22:44         ` Jun'ichi Nomura
  -- strict thread matches above, loose matches on Subject: below --
2007-10-24 14:17 Domenico Viggiani
2007-10-24 15:50 ` Aaron Bergstralh
2007-10-24 21:10 ` Jun'ichi Nomura

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=46D31C24.4030201@linpro.no \
    --to=tore@linpro.no \
    --cc=dm-devel@redhat.com \
    /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.