Re: [PATCH] virtio-blk: Fix kconfig option

From: Kent Overstreet
Date: Thu Sep 06 2012 - 06:02:44 EST


On Thu, Sep 06, 2012 at 12:49:56PM +0300, Michael S. Tsirkin wrote:
> On Thu, Sep 06, 2012 at 02:25:12AM -0700, Kent Overstreet wrote:
> > On Thu, Sep 06, 2012 at 11:44:03AM +0300, Michael S. Tsirkin wrote:
> > > On Thu, Sep 06, 2012 at 12:41:13AM -0700, Kent Overstreet wrote:
> > > > On Tue, Sep 04, 2012 at 03:53:53PM +0930, Rusty Russell wrote:
> > > > > Kent Overstreet <koverstreet@xxxxxxxxxx> writes:
> > > > >
> > > > > > CONFIG_VIRTIO isn't exposed, everything else is supposed to select it
> > > > > > instead.
> > > > >
> > > > > This is a slight mis-understanding. It's supposed to be selected by
> > > > > the particular driver, probably virtio_pci in your case.
> > > >
> > > > So are you saying virtio-blk depends on virtio-pci? If so, the kconfig
> > > > should have that.
> > > >
> > > > As is, VIRTIO_BLK just has:
> > > > depends on EXPERIMENTAL && VIRTIO
> > > >
> > > > which is flat out broken.
> > >
> > > I don't think anything is broken.
> > > Can you show an example of a broken configuration?
> >
> > Do you not understand the difference between depends an selects?
> > Or did you not read my original mail?
> > Flip off everything in drivers -> virtio
> >
> > Now go to drivers -> block and try to turn on virtio-blk.
> >
> > It's not listed!
>
> Yes. Because you disabled all virtio backends.
> It does not make sense to have any frontends.

How's a user - or even another kernel developer who isn't familiar with
virtio - supposed to know that?

I still don't know what exactly a virtio backend is - the term isn't
even mentioned anywhere that I've seen.

Whatever it is though virtio-blk should be depending on _that_, not a
config option that _isn't exposed in the menu_!

> > Now go back to drivers -> virtio and turn on (randomly) balloon.
> >
> > Go back to drivers -> block, and now you can turn on virtio-blk!
> >
> > Do you see what's wrong with this picture?
>
> Yes. You got unlucky with your random guess.
> It's a bug in balloon kconfig: it should not
> select virtio.
> I sent a patch to fix that yesterday.

Then it's also a bug in the comments at the top of
drivers/virtio/Kconfig.

And besides that, how the _hell_ is a user supposed to know to turn on
VIRTIO_PCI before VIRTIO_BLK? It's not documented anywhere (if that is
what's supposed to happen! I still don't know) and even if it was
documented, having one kconfig option depend on something that's exposed
in a _completely different menu_ is just made of fail.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/