From: Mike Snitzer <snitzer@redhat.com>
To: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: device-mapper development <dm-devel@redhat.com>
Subject: Re: [PATCH 7/7] dm-mpath: Fix a race condition in __multipath_map()
Date: Mon, 21 Nov 2016 19:34:44 -0500 [thread overview]
Message-ID: <20161122003444.GB25362@redhat.com> (raw)
In-Reply-To: <d4a3879e-ec60-69f6-abb8-95aa7f305277@sandisk.com>
On Mon, Nov 21 2016 at 6:57pm -0500,
Bart Van Assche <bart.vanassche@sandisk.com> wrote:
> On 11/21/2016 03:43 PM, Mike Snitzer wrote:
> >Shouldn't be possible. The previous stacktrace you shared clearly
> >showed that the DM mpath request_queue was using blk-mq (dm_mq_queue_rq
> >was in the stack).
> >
> >Whereas the stacktrace above is clearly the old request_fn interface.
> >
> >I'm unaware of how the existing code can allow this. As I said in my
> >earlier mails on this: the request-queue shouldn't be able to change
> >from blk-mq back to .request_fn or vice-versa.
> >
> >So if you think you're only testing blk-mq DM mpath on blk-mq paths,
> >then you need to determine how dm_old_init_request_queue() is getting
> >called to even setup .request_fn (dm_old_request_fn) to be used.
> >
> >If the opposite is true (old request_fn DM mpath stack on blk-mq paths)
> >then determine how dm_mq_init_request_queue is getting called.
> >
> >Basically dm_setup_md_queue() should only ever be called the first time
> >the "multipath" target is loaded. If that isn't the case, then you've
> >exposed some seriously weird bug/regression.
>
> Hello Mike,
>
> Sorry that I had not yet mentioned this, but the test I'm running is
> as follows:
>
> # while true; do for t in mq sq sq-on-mq; do echo ==== $t;
> srp-test/run_tests -s -t 02-$t; done
But you WARN_ON_ONCE(clone && q->mq_ops) will trigger with sq-on-mq.
So this would seem to be a false positive.
next prev parent reply other threads:[~2016-11-22 0:34 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-15 23:31 [PATCH 0/7] dm-mpath: Fix a race condition in the blk-mq path Bart Van Assche
2016-11-15 23:32 ` [PATCH 1/7] dm: Fix a (theoretical?) race condition in rq_completed() Bart Van Assche
2016-11-16 0:46 ` Mike Snitzer
2016-11-15 23:33 ` [PATCH 2/7] dm: Simplify dm_table_determine_type() Bart Van Assche
2016-11-16 14:54 ` Mike Snitzer
2016-11-16 20:14 ` Bart Van Assche
2016-11-16 21:11 ` Mike Snitzer
2016-11-16 21:53 ` Bart Van Assche
2016-11-16 23:09 ` Mike Snitzer
2016-11-15 23:33 ` [PATCH 3/7] dm-mpath: Document a locking assumption Bart Van Assche
2016-11-18 0:07 ` Mike Snitzer
2016-11-15 23:34 ` [PATCH 4/7] dm-mpath: Change return type of pg_init_all_paths() from int into void Bart Van Assche
2016-11-15 23:34 ` [PATCH 5/7] dm-mpath: Do not touch *__clone if request allocation fails Bart Van Assche
2016-11-15 23:34 ` [PATCH 6/7] dm-mpath: Avoid code duplication in __multipath_map() Bart Van Assche
2016-11-16 0:39 ` Mike Snitzer
2016-11-15 23:35 ` [PATCH 7/7] dm-mpath: Fix a race condition " Bart Van Assche
2016-11-16 0:37 ` Mike Snitzer
2016-11-16 0:40 ` Bart Van Assche
2016-11-16 1:01 ` Mike Snitzer
2016-11-16 1:08 ` Bart Van Assche
2016-11-16 1:50 ` Mike Snitzer
2016-11-21 21:44 ` Bart Van Assche
2016-11-21 23:43 ` Mike Snitzer
2016-11-21 23:57 ` Bart Van Assche
2016-11-22 0:34 ` Mike Snitzer [this message]
2016-11-22 23:47 ` Bart Van Assche
2016-11-23 0:48 ` Mike Snitzer
2016-11-23 3:16 ` Mike Snitzer
2016-11-23 18:28 ` Bart Van Assche
2016-11-23 18:50 ` Mike Snitzer
2016-11-16 0:47 ` [PATCH 0/7] dm-mpath: Fix a race condition in the blk-mq path Mike Snitzer
2016-11-16 0:57 ` Bart Van Assche
2016-11-16 1:08 ` Mike Snitzer
2016-11-16 1:10 ` Bart Van Assche
2016-11-16 1:53 ` Mike Snitzer
2016-11-16 7:39 ` Hannes Reinecke
2016-11-16 14:56 ` Mike Snitzer
2016-11-16 18:22 ` Bart Van Assche
2016-11-16 19:32 ` 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=20161122003444.GB25362@redhat.com \
--to=snitzer@redhat.com \
--cc=bart.vanassche@sandisk.com \
--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.