| 
         
xen-devel
Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38
 
| 
To:  | 
Stefan Bader <stefan.bader@xxxxxxxxxxxxx> | 
 
| 
Subject:  | 
Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38 | 
 
| 
From:  | 
Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> | 
 
| 
Date:  | 
Thu, 27 Oct 2011 15:25:14 +0100 | 
 
| 
Cc:  | 
"xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>,	Ian Campbell <Ian.Campbell@xxxxxxxxxx>,	Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>,	Wilk <konrad.wilk@xxxxxxxxxx>, Rzeszutek,	"Konrad@xxxxxxxxxxxxxxxxxxxxxxxxxx" <Konrad@xxxxxxxxxxxxxxxxxxxxxxxxxx>,	Alex Bligh <alex@xxxxxxxxxxx> | 
 
| 
Delivery-date:  | 
Thu, 27 Oct 2011 07:31:51 -0700 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<4EA96711.9000302@xxxxxxxxxxxxx> | 
 
| 
List-help:  | 
<mailto:xen-devel-request@lists.xensource.com?subject=help> | 
 
| 
List-id:  | 
Xen developer discussion <xen-devel.lists.xensource.com> | 
 
| 
List-post:  | 
<mailto:xen-devel@lists.xensource.com> | 
 
| 
List-subscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> | 
 
| 
List-unsubscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> | 
 
| 
References:  | 
<0050AA2F452257584F0AAA0B@xxxxxxxxxxxx>	<20111026134942.GB31609@xxxxxxxxxxxxxxxxxxx>	<20111026141233.GJ12984@xxxxxxxxxxx>	<F1E068D49F012116597572D1@xxxxxxxxxxxx>	<1319641004.9436.35.camel@xxxxxxxxxxxxxxxxxxxxxx>	<AEAE0D618F71583484DA951D@xxxxxxxxxxxx>	<1319647412.9436.50.camel@xxxxxxxxxxxxxxxxxxxxxx>	<4EA91023.5000201@xxxxxxxxxxxxx>	<alpine.DEB.2.00.1110271436100.3519@kaball-desktop>	<4EA96097.5000603@xxxxxxxxxxxxx>	<alpine.DEB.2.00.1110271505010.3519@kaball-desktop>	<4EA96711.9000302@xxxxxxxxxxxxx> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
| 
User-agent:  | 
Alpine 2.00 (DEB 1167 2008-08-23) | 
 
 
 
On Thu, 27 Oct 2011, Stefan Bader wrote:
> On 27.10.2011 16:08, Stefano Stabellini wrote:
> > On Thu, 27 Oct 2011, Stefan Bader wrote:
> >> On 27.10.2011 15:42, Stefano Stabellini wrote:
> >>> I take we are still talking about PV on HVM guests here.
> >>>
> >>> On Thu, 27 Oct 2011, Stefan Bader wrote:
> >>>> At least one part is not Ubuntu specific. And that is that the unplug 
> >>>> logic
> >>>> decides to unplug emulated devices based on having the pci and the 
> >>>> blkfront
> >>>> driver *available* (built-in or module). But later on the blkfront driver
> >>>> ignores all devices that are not *named* in a way to map to the xvd 
> >>>> major.
> >>>> Which leaves you without any usable devices when you named your disk hda 
> >>>> in
> >>>> the config file and you do not prevent unplugging.
> >>>
> >>> If you name your disk hda (as you should), blkfront is going to create
> >>> /dev/xvda in your guest.
> >>> It is not ignoring your disk, it just using "xvd" to name the device in
> >>> the guest.
> >>>
> >>>
> >>>> Still I would love to see this unplug handling become a bit more 
> >>>> obvious. If
> >>>> unplug was successful, then blkfront should not ignore the devices. Or 
> >>>> maybe
> >>>> just make the config more what-you-write-is-what-you-get and having hd 
> >>>> or sd
> >>>> there only gives you emulated devices and xvd gives you pv devices.
> >>>
> >>> Yes, if the unplug is unsuccessful blkfront should not ignore the
> >>> device: it is going to create a /dev/xvd* for you.
> >>
> >> The problem I saw in my test was that in blkfront_probe the following case 
> >> was
> >> hit when the device name was hda in the cfg:
> >>
> >>                 if (xen_platform_pci_unplug & XEN_UNPLUG_UNNECESSARY) {
> >>                         int major;
> >>
> >>                         if (!VDEV_IS_EXTENDED(vdevice))
> >>                                 major = BLKIF_MAJOR(vdevice);
> >>                         else
> >>                                 major = XENVBD_MAJOR;
> >>
> >>                         if (major != XENVBD_MAJOR) {
> >>                                 printk(KERN_INFO
> >>                                                 "%s: HVM does not support 
> >> vbd %d
> >> as xen block device\n",
> >>                                                 __FUNCTION__, vdevice);
> >>                                 return -ENODEV;
> >>                         }
> >>                 }
> >>
> >> So major is not XENVBD_MAJOR and the device is ignored.
> >>
> > 
> > Why are you passing xen_emul_unplug=unnecessary?
> > The idea is that if you pass that option you have to use the emulated
> > path to access your disk unless you esplicitely add an xvd disk to your
> > config.
> > 
> > In the normal case, if you don't specify xen_emul_unplug, you are going
> > to get xvda for your hda disk.
> > Then if you use LABEL or UUID in your root= argument, you don't need to
> > change any configuration to make it work.
> 
> Because of the above I have to specify the xen_emul_unplug to get *any* 
> device.
Why?
If you do *not* specify xen_emul_unplug, you should get /dev/xvda
(provided you have blkfront available and hda in your disk config line).
> If I do not specify anything, then (because pci and pv driver are available) 
> the
> emulated disk gets unplugged. Ok. But then the probe does not give me any xvd
> because the major does not match.
that is only because you passed xen_emul_unplug=unnecessary; you
shouldn't do that
> The only form I could make this work was: use xvda in the config file.
you should use hda in the disk config line, and then configure the guest
kernel root= argument with /dev/xvda1 directly or LABEL or UUID
(better).
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, (continued)
 
- Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Alex Bligh
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Ian Campbell
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Stefan Bader
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Stefano Stabellini
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Stefan Bader
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Stefano Stabellini
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Stefan Bader
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38,
Stefano Stabellini <=
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Stefan Bader
 
- Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Stefan Bader
 - Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Stefano Stabellini
 
- Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Pasi Kärkkäinen
 
 
Re: [Xen-devel] xen_emul_unplug on xen 4.1, HVM guest 2.6.38, Alex Bligh
 |  
  
 | 
    |