All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Lars Ellenberg
	<lars.ellenberg-63ez5xqkn6DQT0dZR+AlfA@public.gmane.org>,
	dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	Kent Overstreet
	<koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	linux-bcache-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Bcache upstreaming
Date: Fri, 1 Feb 2013 10:16:01 -0500	[thread overview]
Message-ID: <20130201151601.GA18452@redhat.com> (raw)
In-Reply-To: <20130201145504.GS6824-9pTldWuhBndy/B6EtB590w@public.gmane.org>

On Fri, Feb 01 2013 at  9:55am -0500,
Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote:

> Hey, Mike.
> 
> On Fri, Feb 01, 2013 at 09:10:03AM -0500, Mike Snitzer wrote:
> > Well judging by the header for commit 49731baa41df404c2c3f44555869ab387363af43  
> > ("block: restore multiple bd_link_disk_holder() support") it just looks
> > like Tejun hates the fact that DM and MD are using this interface.  No
> > alternative is provided; so the "DON'T USE THIS UNLESS YOU'RE ALREADY
> > USING IT." rings hollow.
> 
> The original code was gross regarding kobj handling there so I might
> have overreacted.  Ah right, the refcnt doesn't belong there.  The
> caller should already own both the master and slave devices (creator
> of the former, exclusive opener of the latter) and that really should
> be the extent of ownership that block layer tracks.
> bk_[un]link_disk_holder() implements completely isolated refcnting
> because dm somehow calls the function for the same pair multiple
> times.

You're likely referring to how DM can load an inactive table while a
table is already active.  These active and inactive DM tables can have
the same block devices associated with them.  Loading a table causes the
devices to be opened exclusively with blkdev_get_by_dev.  See
open_dev and close_dev in drivers/md/dm-table.c

> ISTR the problem w/ block layer was that because this adds a separate
> layer of refcnting, it can't be tied to the usual rule of block device
> access.  ie. we really shouldn't need bd_unlink_disk_holder() but the
> linkage's lifetime should be bound to the exclusive open of the slave
> device, which can't currently be done.
> 
> IIRC, there was only one case where this happens in dm, would you be
> interested in tracking that down?  I'd be happy to lose the extra
> refcnting code and tie it back to bdev exclusive open.

I'll have a closer look.

> > Kent was talking about using MD (and though he isn't opposed to DM he
> > doesn't care to integrate with DM himself).  Either DM or MD would
> > implicitly enable bcache to use this interface.  But in the near-term I
> > cannot see why Kent shouldn't be able to use bd_link_disk_holder too.
> 
> Being part of dm or dm should make this mostly irrelevant, no?

Sure, but I don't pretend to know when bcache will make use of either.

  parent reply	other threads:[~2013-02-01 15:16 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-04 23:50 Bcache upstreaming Kent Overstreet
2013-01-09 15:49 ` Mike Snitzer
     [not found]   ` <CAMM=eLeeh6jb28KXGE9ZBbkMV1ysE-6NH2BjfpTsQcHAawEs+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-10 17:59     ` Kent Overstreet
     [not found]       ` <20130110175954.GR26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-01-14 22:37         ` Kent Overstreet
     [not found]           ` <20130114223722.GZ26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-01-14 22:53             ` Mike Snitzer
     [not found]               ` <20130114225330.GA1365-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-01-17  2:27                 ` Mike Snitzer
     [not found]                   ` <20130117022728.GA16148-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-01-17 11:41                     ` Kent Overstreet
     [not found]                       ` <20130117114104.GJ10411-jC9Py7bek1znysI04z7BkA@public.gmane.org>
2013-01-30 23:36                         ` Kent Overstreet
     [not found]                           ` <20130130233643.GD12631-jC9Py7bek1znysI04z7BkA@public.gmane.org>
2013-01-30 23:48                             ` Joseph Glanville
     [not found]                               ` <CAOzFzEho6Jn8nd+vSZXEQR5_oxPEZRej=6mivJDz0MsAj5VAZg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-31  1:25                                 ` Kent Overstreet
2013-01-31  0:10                             ` Mike Snitzer
     [not found]                               ` <20130131001020.GA7541-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-01-31  1:26                                 ` Kent Overstreet
     [not found]                                   ` <20130131012627.GF12631-jC9Py7bek1znysI04z7BkA@public.gmane.org>
2013-01-31  1:27                                     ` Kent Overstreet
     [not found]                                       ` <20130131012747.GG12631-jC9Py7bek1znysI04z7BkA@public.gmane.org>
2013-01-31  1:48                                         ` Kent Overstreet
     [not found]                                           ` <20130131014835.GH12631-jC9Py7bek1znysI04z7BkA@public.gmane.org>
2013-01-31 19:02                                             ` Mike Snitzer
     [not found]                                               ` <20130131190249.GA12786-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-01-31 21:08                                                 ` Kent Overstreet
     [not found]                                                   ` <CAC7rs0u_aJS5BsJ0E7wH98z2VxXr=SK1z8yL0-m0Pc85ncJNHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-31 22:17                                                     ` Mike Snitzer
     [not found]                                                       ` <20130131221711.GA13540-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-01-31 22:25                                                         ` Kent Overstreet
     [not found]                                                           ` <CAC7rs0ue6YgqrX9Nc18GdnVtJd558F6W=BZiMXZdRqig3s7sBA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-31 23:08                                                             ` Mike Snitzer
     [not found]                                                               ` <20130131230800.GB13540-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-02-01  0:33                                                                 ` Kent Overstreet
     [not found]                                                                   ` <20130201003311.GJ12631-jC9Py7bek1znysI04z7BkA@public.gmane.org>
2013-02-01  3:38                                                                     ` Mike Snitzer
2013-02-01 10:39                                                                       ` Lars Ellenberg
2013-02-01 14:10                                                                         ` Mike Snitzer
     [not found]                                                                           ` <20130201141003.GA18095-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-02-01 14:55                                                                             ` Tejun Heo
     [not found]                                                                               ` <20130201145504.GS6824-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-02-01 15:16                                                                                 ` Mike Snitzer [this message]
2013-02-01 15:27                                                                                 ` Kent Overstreet
     [not found]                                                                                   ` <20130201152743.GV26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-02-01 15:30                                                                                     ` Tejun Heo
     [not found]                                                                                       ` <20130201153019.GT6824-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-02-01 15:33                                                                                         ` Kent Overstreet
     [not found]                                                                                           ` <20130201153318.GW26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-02-01 16:08                                                                                             ` Tejun Heo
     [not found]                                                                                               ` <20130201160820.GA31863-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-02-01 16:15                                                                                                 ` Kent Overstreet
     [not found]                                                                                                   ` <20130201161547.GY26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-02-01 16:18                                                                                                     ` Tejun Heo
     [not found]                                                                                                       ` <20130201161809.GB31863-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-02-01 20:32                                                                                                         ` Mike Snitzer
     [not found]                                                                                                           ` <20130201203229.GA21110-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-02-01 20:43                                                                                                             ` Tejun Heo
     [not found]                                                                       ` <20130201033810.GA14867-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-02-01 15:39                                                                         ` Kent Overstreet
     [not found]                                                                           ` <20130201153936.GX26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-02-01 16:12                                                                             ` Mike Snitzer
     [not found]                                                                               ` <20130201161227.GA19245-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-02-01 16:17                                                                                 ` Kent Overstreet
2013-01-31 22:01                                         ` Kent Overstreet
2013-01-31 16:52                             ` Mike Snitzer
     [not found]                               ` <20130131165223.GB11894-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-01-31 17:01                                 ` Kent Overstreet
     [not found]                                   ` <20130131170103.GT26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-01-31 17:26                                     ` Mike Snitzer
2013-01-09 16:01 ` Mike Snitzer
     [not found] ` <20130104235040.GA26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-01-09 16:12   ` Mike Snitzer
     [not found]     ` <CAMM=eLdxz17qG8=Px5VoRpv2pGsGhVn3erCQLrcr=Lm-vCOrWw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-10 16:47       ` Mike Snitzer
     [not found]         ` <20130110164704.GA30790-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-01-10 17:56           ` Mike Snitzer
2013-01-10 18:14           ` Kent Overstreet
     [not found]             ` <20130110181424.GS26407-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2013-01-14 22:36               ` Kent Overstreet
  -- strict thread matches above, loose matches on Subject: below --
2013-01-19  8:41 Steven Haigh
     [not found] ` <50FA5C38.60301-tY1ak9Q0PTWHXe+LvDLADg@public.gmane.org>
2013-01-19 10:35   ` Kent Overstreet
     [not found]     ` <CAC7rs0v=zA-6Lf9kH5jmXxySci6GTLMu_Tq1pZFhHDpYcj0APQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-19 10:42       ` Steven Haigh

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=20130201151601.GA18452@redhat.com \
    --to=snitzer-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=lars.ellenberg-63ez5xqkn6DQT0dZR+AlfA@public.gmane.org \
    --cc=linux-bcache-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /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.