Linux Device Mapper development
 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: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20130104235040.GA26407@google.com>
2013-01-09 15:49 ` Bcache upstreaming 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

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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox