diff mbox

PR API fixes for multipathing

Message ID 20160716181007.GA14215@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mike Snitzer July 16, 2016, 6:10 p.m. UTC
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:


Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

James Bottomley July 16, 2016, 6:14 p.m. UTC | #1
On Sat, 2016-07-16 at 14:10 -0400, Mike Snitzer wrote:
> 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)

You are actually missing the reviewed by tags from Mike Christie on
this, which should be added.

James

--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mike Snitzer July 16, 2016, 6:25 p.m. UTC | #2
On Sat, Jul 16 2016 at  2:14pm -0400,
James Bottomley <James.Bottomley@HansenPartnership.com> wrote:

> On Sat, 2016-07-16 at 14:10 -0400, Mike Snitzer wrote:
> > 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)
> 
> You are actually missing the reviewed by tags from Mike Christie on
> this, which should be added.

Added, thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Christoph Hellwig July 17, 2016, 1:28 a.m. UTC | #3
On Sat, Jul 16, 2016 at 02:10:07PM -0400, Mike Snitzer wrote:
> 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

That's coming from sparse?  Guess I need to update my sparse version..

> here is the incremental I folded in to the dm patch:

Looks fine,

Reviewed-by: Christoph Hellwig <hch@lst.de>
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

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;