From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [PATCH] virtio-blk: Fix kconfig option Date: Thu, 6 Sep 2012 14:09:22 +0300 Message-ID: <20120906110922.GD32325@redhat.com> References: <20120903044133.GA9980@moria.home.lan> <87wr0ae26e.fsf@rustcorp.com.au> <20120906074113.GA5902@koverstreet-glaptop> <20120906084403.GD17656@redhat.com> <20120906092512.GB5902@koverstreet-glaptop> <20120906094956.GB22816@redhat.com> <20120906100247.GA27355@koverstreet-glaptop> <20120906101842.GB32325@redhat.com> <20120906103143.GA22299@moria.home.lan> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20120906103143.GA22299@moria.home.lan> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Kent Overstreet Cc: linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org List-Id: virtualization@lists.linuxfoundation.org T24gVGh1LCBTZXAgMDYsIDIwMTIgYXQgMDM6MzE6NDRBTSAtMDcwMCwgS2VudCBPdmVyc3RyZWV0 IHdyb3RlOgo+IE9uIFRodSwgU2VwIDA2LCAyMDEyIGF0IDAxOjE4OjQzUE0gKzAzMDAsIE1pY2hh ZWwgUy4gVHNpcmtpbiB3cm90ZToKPiA+IE9uIFRodSwgU2VwIDA2LCAyMDEyIGF0IDAzOjAyOjQ4 QU0gLTA3MDAsIEtlbnQgT3ZlcnN0cmVldCB3cm90ZToKPiA+ID4gT24gVGh1LCBTZXAgMDYsIDIw MTIgYXQgMTI6NDk6NTZQTSArMDMwMCwgTWljaGFlbCBTLiBUc2lya2luIHdyb3RlOgo+ID4gPiA+ IE9uIFRodSwgU2VwIDA2LCAyMDEyIGF0IDAyOjI1OjEyQU0gLTA3MDAsIEtlbnQgT3ZlcnN0cmVl dCB3cm90ZToKPiA+ID4gPiA+IE9uIFRodSwgU2VwIDA2LCAyMDEyIGF0IDExOjQ0OjAzQU0gKzAz MDAsIE1pY2hhZWwgUy4gVHNpcmtpbiB3cm90ZToKPiA+ID4gPiA+ID4gT24gVGh1LCBTZXAgMDYs IDIwMTIgYXQgMTI6NDE6MTNBTSAtMDcwMCwgS2VudCBPdmVyc3RyZWV0IHdyb3RlOgo+ID4gPiA+ ID4gPiA+IE9uIFR1ZSwgU2VwIDA0LCAyMDEyIGF0IDAzOjUzOjUzUE0gKzA5MzAsIFJ1c3R5IFJ1 c3NlbGwgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiBLZW50IE92ZXJzdHJlZXQgPGtvdmVyc3RyZWV0 QGdvb2dsZS5jb20+IHdyaXRlczoKPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gPiBD T05GSUdfVklSVElPIGlzbid0IGV4cG9zZWQsIGV2ZXJ5dGhpbmcgZWxzZSBpcyBzdXBwb3NlZCB0 byBzZWxlY3QgaXQKPiA+ID4gPiA+ID4gPiA+ID4gaW5zdGVhZC4KPiA+ID4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiA+ID4gVGhpcyBpcyBhIHNsaWdodCBtaXMtdW5kZXJzdGFuZGluZy4gIEl0J3Mg c3VwcG9zZWQgdG8gYmUgc2VsZWN0ZWQgYnkKPiA+ID4gPiA+ID4gPiA+IHRoZSBwYXJ0aWN1bGFy IGRyaXZlciwgcHJvYmFibHkgdmlydGlvX3BjaSBpbiB5b3VyIGNhc2UuCj4gPiA+ID4gPiA+ID4g Cj4gPiA+ID4gPiA+ID4gU28gYXJlIHlvdSBzYXlpbmcgdmlydGlvLWJsayBkZXBlbmRzIG9uIHZp cnRpby1wY2k/IElmIHNvLCB0aGUga2NvbmZpZwo+ID4gPiA+ID4gPiA+IHNob3VsZCBoYXZlIHRo YXQuCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gQXMgaXMsIFZJUlRJT19CTEsganVzdCBo YXM6Cj4gPiA+ID4gPiA+ID4gCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIFZJUlRJTwo+ID4g PiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IHdoaWNoIGlzIGZsYXQgb3V0IGJyb2tlbi4KPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+IEkgZG9uJ3QgdGhpbmsgYW55dGhpbmcgaXMgYnJva2VuLgo+ID4g PiA+ID4gPiBDYW4geW91IHNob3cgYW4gZXhhbXBsZSBvZiBhIGJyb2tlbiBjb25maWd1cmF0aW9u Pwo+ID4gPiA+ID4gCj4gPiA+ID4gPiBEbyB5b3Ugbm90IHVuZGVyc3RhbmQgdGhlIGRpZmZlcmVu Y2UgYmV0d2VlbiBkZXBlbmRzIGFuIHNlbGVjdHM/Cj4gPiA+ID4gPiBPciBkaWQgeW91IG5vdCBy ZWFkIG15IG9yaWdpbmFsIG1haWw/Cj4gPiA+ID4gPiBGbGlwIG9mZiBldmVyeXRoaW5nIGluIGRy aXZlcnMgLT4gdmlydGlvCj4gPiA+ID4gPiAKPiA+ID4gPiA+IE5vdyBnbyB0byBkcml2ZXJzIC0+ IGJsb2NrIGFuZCB0cnkgdG8gdHVybiBvbiB2aXJ0aW8tYmxrLgo+ID4gPiA+ID4gCj4gPiA+ID4g PiBJdCdzIG5vdCBsaXN0ZWQhCj4gPiA+ID4gCj4gPiA+ID4gWWVzLiBCZWNhdXNlIHlvdSBkaXNh YmxlZCBhbGwgdmlydGlvIGJhY2tlbmRzLgo+ID4gPiA+IEl0IGRvZXMgbm90IG1ha2Ugc2Vuc2Ug dG8gaGF2ZSBhbnkgZnJvbnRlbmRzLgo+ID4gPiAKPiA+ID4gSG93J3MgYSB1c2VyIC0gb3IgZXZl biBhbm90aGVyIGtlcm5lbCBkZXZlbG9wZXIgd2hvIGlzbid0IGZhbWlsaWFyIHdpdGgKPiA+ID4g dmlydGlvIC0gc3VwcG9zZWQgdG8ga25vdyB0aGF0Pwo+ID4gPiAKPiA+ID4gSSBzdGlsbCBkb24n dCBrbm93IHdoYXQgZXhhY3RseSBhIHZpcnRpbyBiYWNrZW5kIGlzIC0gdGhlIHRlcm0gaXNuJ3QK PiA+ID4gZXZlbiBtZW50aW9uZWQgYW55d2hlcmUgdGhhdCBJJ3ZlIHNlZW4uCj4gPiA+IAo+ID4g PiBXaGF0ZXZlciBpdCBpcyB0aG91Z2ggdmlydGlvLWJsayBzaG91bGQgYmUgZGVwZW5kaW5nIG9u IF90aGF0Xywgbm90IGEKPiA+ID4gY29uZmlnIG9wdGlvbiB0aGF0IF9pc24ndCBleHBvc2VkIGlu IHRoZSBtZW51XyEKPiA+ID4gCj4gPiA+ID4gPiBOb3cgZ28gYmFjayB0byBkcml2ZXJzIC0+IHZp cnRpbyBhbmQgdHVybiBvbiAocmFuZG9tbHkpIGJhbGxvb24uCj4gPiA+ID4gPiAKPiA+ID4gPiA+ IEdvIGJhY2sgdG8gZHJpdmVycyAtPiBibG9jaywgYW5kIG5vdyB5b3UgY2FuIHR1cm4gb24gdmly dGlvLWJsayEKPiA+ID4gPiA+IAo+ID4gPiA+ID4gRG8geW91IHNlZSB3aGF0J3Mgd3Jvbmcgd2l0 aCB0aGlzIHBpY3R1cmU/Cj4gPiA+ID4gCj4gPiA+ID4gWWVzLiBZb3UgZ290IHVubHVja3kgd2l0 aCB5b3VyIHJhbmRvbSBndWVzcy4KPiA+ID4gPiBJdCdzIGEgYnVnIGluIGJhbGxvb24ga2NvbmZp ZzogaXQgc2hvdWxkIG5vdAo+ID4gPiA+IHNlbGVjdCB2aXJ0aW8uCj4gPiA+ID4gSSBzZW50IGEg cGF0Y2ggdG8gZml4IHRoYXQgeWVzdGVyZGF5Lgo+ID4gPiAKPiA+ID4gVGhlbiBpdCdzIGFsc28g YSBidWcgaW4gdGhlIGNvbW1lbnRzIGF0IHRoZSB0b3Agb2YKPiA+ID4gZHJpdmVycy92aXJ0aW8v S2NvbmZpZy4KPiA+ID4gCj4gPiA+IEFuZCBiZXNpZGVzIHRoYXQsIGhvdyB0aGUgX2hlbGxfIGlz IGEgdXNlciBzdXBwb3NlZCB0byBrbm93IHRvIHR1cm4gb24KPiA+ID4gVklSVElPX1BDSSBiZWZv cmUgVklSVElPX0JMSz8gSXQncyBub3QgZG9jdW1lbnRlZCBhbnl3aGVyZSAoaWYgdGhhdCBpcwo+ ID4gPiB3aGF0J3Mgc3VwcG9zZWQgdG8gaGFwcGVuISBJIHN0aWxsIGRvbid0IGtub3cpCj4gPiAK PiA+IFdlbGwsIHdoYXQga2luZCBvZiBkZXZpY2UgZG8geW91IGhhdmU/IFRlbGwgdXMgOikKPiA+ IElmIGl0J3MgYSB2aXJ0aW8gcGNpIGRldmljZSwKPiA+IHlvdSBuZWVkIHRvIGVuYWJsZSB2aXJ0 aW8tcGNpIGFuZCB2aXJ0aW8tYmxrLgo+IAo+IEkgcnVuIHFlbXUgd2l0aCAtZHJpdmUgaWY9dmly dGlvLiBZb3UgdGVsbCBtZSEKCi1kcml2ZSBpZj0gaXMgYSBjb21wYXRpYmlsaXR5IG9wdGlvbi4g cWVtdSBtYWtlcwphbiBlZmZvcnQgdG8gZ3Vlc3Mgd2hhdCBpdCBpcyB5b3Ugd2FudCB0byBkby4K UmVzdWx0IGlzIHVzdWFsbHkgY29ycmVjdCBidXQgaXQgbWVhbnMgcGVvcGxlIGJ1aWxkaW5nCnRo ZWlyIG93biBrZXJuZWxzIGdldCBjb25mdXNlZC4KCkZvciB4ODYga3ZtIHRoZSBtb2Rlcm4gZXF1 aXZhbGVudCBpczoKCi1kZXZpY2UgdmlydGlvLWJsay1wY2ksZHJpdmU9Zm9vYmFyIC1kcml2ZSBp Zj1ubywuLi4KCklmIHlvdSB1c2UgdGhpcyB5b3UgZ2V0IHdoYXQgeW91IGFza2VkIGZvciA6KS4K ClllcyB0aGlzIHVzYWdlIGlzIG5vdCBkb2N1bWVudGVkIGFueXdoZXJlLCBidXQgdGhpcyBpcwpu b3QgZ3Vlc3QgZHJpdmVyJ3MgcHJvYmxlbS4KCj4gQmV0dGVyIHlldCwgdGVsbCBtZSBob3cgdGhl IHVzZXIgaXMgc3VwcG9zZWQgdG8gZmlndXJlIGl0IG91dCEKCkFzIHVzdWFsIHdoZW4geW91IGRv IG5vdCBrbm93IHdoaWNoIGRyaXZlciB0byBzZWxlY3QuCkJvb3QgYSBkaXN0cm8ga2VybmVsIGFu ZCBsb29rIGFyb3VuZC4KV2hlcmUgaXMgeW91ciB2aXJ0aW8gZGV2aWNlPyBPbiBhIHBjaSBidXM/ ClRoZXJlIHlvdSBhcmUuCgo+ID4gCj4gPiA+IGFuZCBldmVuIGlmIGl0IHdhcwo+ID4gPiBkb2N1 bWVudGVkLCBoYXZpbmcgb25lIGtjb25maWcgb3B0aW9uIGRlcGVuZCBvbiBzb21ldGhpbmcgdGhh dCdzIGV4cG9zZWQKPiA+ID4gaW4gYSBfY29tcGxldGVseSBkaWZmZXJlbnQgbWVudV8gaXMganVz dCBtYWRlIG9mIGZhaWwuCj4gPiAKPiA+IEZpbmUsIGJ1dCB3aHkgcGljayBvbiB2aXJ0aW8/Cj4g PiBUaGlzIGlzIGV4dHJlbWVseSBjb21tb24gaW4ga2NvbmZpZy4KPiA+IEZvciBleGFtcGxlLCBh IHRvbiBvZiBuZXR3b3JrIGRyaXZlcnMgZGVwZW5kCj4gPiBvbiBQQ0ksIGl0J3MgZXhhY3RseSB0 aGUgc2FtZSB0aGluZy4KPiAKPiBOZXZlciBub3RpY2VkIHdoZXJlIENPTkZJR19QQ0kgaXMgZXhw b3NlZCBpbiBidXMgb3B0aW9ucz8KCkkgc2VlIGl0OgoKQ09ORklHX1BDSToKICDilIIgRmluZCBv dXQgd2hldGhlciB5b3UgaGF2ZSBhIFBDSSBtb3RoZXJib2FyZC4gUENJIGlzIHRoZSBuYW1lIG9m IGEg4pSCICAKICDilIIgYnVzIHN5c3RlbSwgaS5lLiB0aGUgd2F5IHRoZSBDUFUgdGFsa3MgdG8g dGhlIG90aGVyIHN0dWZmIGluc2lkZSDilIIgIAogIOKUgiB5b3VyIGJveC4gT3RoZXIgYnVzIHN5 c3RlbXMgYXJlIElTQSwgRUlTQSwgTWljcm9DaGFubmVsIChNQ0EpIG9yIOKUgiAgCiAg4pSCIFZF U0EuIElmIHlvdSBoYXZlIFBDSSwgc2F5IFksIG90aGVyd2lzZSBOLiAg4pSCICAKCj4gTm9wZSwg bm90IHRoZSBzYW1lIHRoaW5nLgoKWW91IGp1c3QgaGFwcGVuIHRvIGtub3cgd2hhdCBQQ0kgaXMg YnV0IG5vdCB3aGF0IFZJUlRJTyBQQ0kgaXMuClRoaXMgaXMgZmFpciBlbm91Z2gsIGJ1dCBub3Qg c3VyZSBob3cgdG8gaGVscCBpbiB0aGlzIGNhc2UuCllvdXIgcGF0Y2ggd29uJ3QgaGVscCB0aG91 Z2guCgotLSAKTVNUCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0cy5saW51 eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1h bi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758200Ab2IFLIF (ORCPT ); Thu, 6 Sep 2012 07:08:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:10250 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752062Ab2IFLID (ORCPT ); Thu, 6 Sep 2012 07:08:03 -0400 Date: Thu, 6 Sep 2012 14:09:22 +0300 From: "Michael S. Tsirkin" To: Kent Overstreet Cc: Rusty Russell , virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] virtio-blk: Fix kconfig option Message-ID: <20120906110922.GD32325@redhat.com> References: <20120903044133.GA9980@moria.home.lan> <87wr0ae26e.fsf@rustcorp.com.au> <20120906074113.GA5902@koverstreet-glaptop> <20120906084403.GD17656@redhat.com> <20120906092512.GB5902@koverstreet-glaptop> <20120906094956.GB22816@redhat.com> <20120906100247.GA27355@koverstreet-glaptop> <20120906101842.GB32325@redhat.com> <20120906103143.GA22299@moria.home.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20120906103143.GA22299@moria.home.lan> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 06, 2012 at 03:31:44AM -0700, Kent Overstreet wrote: > 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 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! -drive if= is a compatibility option. qemu makes an effort to guess what it is you want to do. Result is usually correct but it means people building their own kernels get confused. For x86 kvm the modern equivalent is: -device virtio-blk-pci,drive=foobar -drive if=no,... If you use this you get what you asked for :). Yes this usage is not documented anywhere, but this is not guest driver's problem. > Better yet, tell me how the user is supposed to figure it out! As usual when you do not know which driver to select. Boot a distro kernel and look around. Where is your virtio device? On a pci bus? There you are. > > > > > 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? I see it: CONFIG_PCI: │ Find out whether you have a PCI motherboard. PCI is the name of a │ │ bus system, i.e. the way the CPU talks to the other stuff inside │ │ your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or │ │ VESA. If you have PCI, say Y, otherwise N. │ > Nope, not the same thing. You just happen to know what PCI is but not what VIRTIO PCI is. This is fair enough, but not sure how to help in this case. Your patch won't help though. -- MST