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

From: Kent Overstreet
Date: Thu Sep 06 2012 - 06:32:09 EST


On Thu, Sep 06, 2012 at 01:18:43PM +0300, Michael S. Tsirkin wrote:
> On Thu, Sep 06, 2012 at 03:02:48AM -0700, Kent Overstreet wrote:
> > 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)
>
> Well, what kind of device do you have? Tell us :)
> If it's a virtio pci device,
> you need to enable virtio-pci and virtio-blk.

I run qemu with -drive if=virtio. You tell me!

Better yet, tell me how the user is supposed to figure it out!

>
> > 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.
>
> Fine, but why pick on virtio?
> This is extremely common in kconfig.
> For example, a ton of network drivers depend
> on PCI, it's exactly the same thing.

Never noticed where CONFIG_PCI is exposed in bus options?

Nope, not the same thing.
--
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/