All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
To: Mike Snitzer <snitzer@redhat.com>
Cc: dm-devel@redhat.com, Alasdair Kergon <agk@redhat.com>
Subject: Re: [PATCH 0/6] dm: restrict conflicting table loads and improve queue initialization
Date: Mon, 24 May 2010 19:00:42 +0900	[thread overview]
Message-ID: <4BFA4E4A.6060404@ct.jp.nec.com> (raw)
In-Reply-To: <1274651101-9784-1-git-send-email-snitzer@redhat.com>

Hi Mike,

On 05/24/2010 06:44 AM +0900, Mike Snitzer wrote:
> It should be noted that patch 4/6 is labeled "v8".  I still believe
> v7's locking strategy is _not_ prone to problematic deadlock, as I
> detailed/questioned here: http://lkml.org/lkml/2010/5/21/175
> v7 is still available for viewing here:
> https://patchwork.kernel.org/patch/101270/

As I replied to another thread, the problematic deadlock is possible.

 
> But this new series eliminates v7's locking between table_load() and
> do_resume() -- fixed md->type made this possible.  So these changes
> may be more desirable overall (adds some clearer exclusion and state
> transitions that I feel help DM without being too restrictive).

Yes, I think it's reasonable.


> This work has expanded in scope somewhat (based on Mikulas' suggestion
> that I pursue more constrained table/device type switching to avoid
> Kiyoshi's locking concerns).  A mapped_device now has a specific type
> (md->type) that is managed in table_{load,clear} (see patch 3/6).
 
Cancelling the type by table_clear() keeps the code/model complex
even after changing model.
I think the feature to cancel the type is not required any userspace
tools nor admins at least for now.  So dropping the feature and
completely fixing the type at the first table loading time may be
a good meeting point to make the kernel code simple.


I had only a quick look, so I may find some more comments.  But I'd
like to have more review after we reach an agreement about the basic
implementation design above.

Thanks,
Kiyoshi Ueda

  parent reply	other threads:[~2010-05-24 10:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-23 21:44 [PATCH 0/6] dm: restrict conflicting table loads and improve queue initialization Mike Snitzer
2010-05-23 21:44 ` [PATCH 1/6] block: Adjust elv_iosched_show to return "none" for bio-based DM Mike Snitzer
2010-05-24  7:06   ` Jens Axboe
2010-05-23 21:44 ` [PATCH 2/6] dm ioctl: interlock resume and table clear Mike Snitzer
2010-05-24 17:08   ` Mike Snitzer
2010-05-23 21:44 ` [PATCH 3/6] dm: prevent table type changes after initial table load Mike Snitzer
2010-05-23 21:44 ` [PATCH 4/6 "v8"] dm: only initialize full request_queue for request-based device Mike Snitzer
2010-05-23 21:45 ` [PATCH 5/6] dm ioctl: introduce dm_get_verified_mdptr Mike Snitzer
2010-05-23 21:45 ` [PATCH 6/6] dm ioctl: introduce find_device_noinit Mike Snitzer
2010-05-24 10:00 ` Kiyoshi Ueda [this message]
2010-05-24 17:24   ` [PATCH 0/6] dm: restrict conflicting table loads and improve queue initialization Mike Snitzer

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=4BFA4E4A.6060404@ct.jp.nec.com \
    --to=k-ueda@ct.jp.nec.com \
    --cc=agk@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=snitzer@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.