From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
linux-block@vger.kernel.org, dm-devel@redhat.com,
linux-scsi@vger.kernel.org
Subject: Re: PR API fixes for multipathing
Date: Sat, 16 Jul 2016 14:10:07 -0400 [thread overview]
Message-ID: <20160716181007.GA14215@redhat.com> (raw)
In-Reply-To: <20160716010844.GA29087@lst.de>
On Fri, Jul 15 2016 at 9:08pm -0400,
Christoph Hellwig <hch@lst.de> wrote:
> On Fri, Jul 15, 2016 at 03:03:54PM -0400, Martin K. Petersen wrote:
> > >>>>> "Christoph" == Christoph Hellwig <hch@lst.de> writes:
> >
> > Christoph> I was a bit overeager to thing ALL_TG_PT would solve all our
> > Christoph> multipathing woes in respect to persistent reservation.
> > Christoph> Turns out that there are lots of possible setups where it
> > Christoph> doesn't work, and we'll have to ask device mapper to register
> > Christoph> all underlying devices instead.
> >
> > Should I queue the sd patch or let Mike take both through the DM tree?
>
> I think having both in the same tree would be very useful. I don't care
> which one that is.
I've picked both of them up. Staged for 4.8 merge and in linux-next via
linux-dm.git's 'for-next'.
(I added Martin's Acked-by to the sd patch header, Martin: if not OK, or
if you'd prefer Reviewed-by just let me know)
Christoph, I had to fix this:
drivers/md/dm.c:2564:12: warning: context imbalance in 'dm_call_pr' - different lock contexts for basic block
here is the incremental I folded in to the dm patch:
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 214fa03..4dca5a7 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -2567,14 +2567,13 @@ static int dm_call_pr(struct block_device *bdev, iterate_devices_callout_fn fn,
struct mapped_device *md = bdev->bd_disk->private_data;
struct dm_table *table;
struct dm_target *ti;
- int ret = 0, srcu_idx;
+ int ret = -ENOTTY, srcu_idx;
table = dm_get_live_table(md, &srcu_idx);
if (!table || !dm_table_get_size(table))
- return -ENOTTY;
+ goto out;
/* We only support devices that have a single target */
- ret = -ENOTTY;
if (dm_table_get_num_targets(table) != 1)
goto out;
ti = dm_table_get_target(table, 0);
@@ -2584,10 +2583,6 @@ static int dm_call_pr(struct block_device *bdev, iterate_devices_callout_fn fn,
goto out;
ret = ti->type->iterate_devices(ti, fn, data);
- if (ret)
- goto out;
-
- ret = 0;
out:
dm_put_live_table(md, srcu_idx);
return ret;
Mike
next prev parent reply other threads:[~2016-07-16 18:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-08 12:23 PR API fixes for multipathing Christoph Hellwig
2016-07-08 12:23 ` [PATCH 1/2] sd: don't use the ALL_TG_PT bit for reservations Christoph Hellwig
2016-07-08 15:56 ` Mike Christie
2016-07-08 12:23 ` [PATCH 2/2] dm: call PR reserve/unreserve on each underlying device Christoph Hellwig
2016-07-08 15:57 ` Mike Christie
2016-07-15 19:03 ` PR API fixes for multipathing Martin K. Petersen
2016-07-16 1:08 ` Christoph Hellwig
2016-07-16 18:10 ` Mike Snitzer [this message]
2016-07-16 18:14 ` James Bottomley
2016-07-16 18:25 ` Mike Snitzer
2016-07-17 1:28 ` Christoph Hellwig
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=20160716181007.GA14215@redhat.com \
--to=snitzer@redhat.com \
--cc=dm-devel@redhat.com \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.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.