Tian, Kevin
2005-Sep-20 08:36 UTC
[Xen-devel] When is "physical-device" created in xenstore?
Saw a strange problem. When blkfront writes event channel number and ring-ref to xenstore, the watch registered by blkback is notified. However immediately watch handler in blkback found there''s no "physical-device" under xenstore which should refer to major/minor number of device for domU. Then failed to create vbd and finally the connection can''t be setup. So my puzzle is, when should physical-device be created? And who creates this item? I searched for name string in whole tools directory to only find instance in block-file/block-phy/block-endb. I configured disk image by /dev/loop0, so ideally block-phy should be used. However I still failed to find where block-phy is invoked. Any clues? Thanks, Kevin _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Tian, Kevin
2005-Sep-20 11:41 UTC
RE: [Xen-devel] When is "physical-device" created in xenstore?
If making following temp hack in XendDomainInfo.py: back = { ''type'' : type, ''params'' : params, ''frontend'' : frontpath, - ''frontend-id'' : "%i" % self.domid } + ''frontend-id'' : "%i" % self.domid, + ''physical-device'' : "%li" % blkdev_name_to_number(params) } xstransact.Write(backpath, back) Then physical-device is created under backend and the communication can be setup. However this hard code definitely breaks existing logical behind. Should I do any specific configuration? From the Blkctl.py, it said that "phy" type doesn''t require bind/unbind script, but I didn''t find the place to add that item specifically. ;-( Thanks, Kevin>-----Original Message----- >From: xen-devel-bounces@lists.xensource.com >[mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Tian, Kevin >Sent: 2005年9月20日 16:37 >To: xen-devel@lists.xensource.com >Subject: [Xen-devel] When is "physical-device" created in xenstore? > >Saw a strange problem. When blkfront writes event channel number and >ring-ref to xenstore, the watch registered by blkback is notified. >However immediately watch handler in blkback found there''s no >"physical-device" under xenstore which should refer to major/minor >number of device for domU. Then failed to create vbd and finally the >connection can''t be setup. > >So my puzzle is, when should physical-device be created? And who creates >this item? I searched for name string in whole tools directory to only >find instance in block-file/block-phy/block-endb. I configured disk >image by /dev/loop0, so ideally block-phy should be used. However I >still failed to find where block-phy is invoked. > >Any clues? > >Thanks, >Kevin > >_______________________________________________ >Xen-devel mailing list >Xen-devel@lists.xensource.com >http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ewan Mellor
2005-Sep-20 13:12 UTC
Re: [Xen-devel] When is "physical-device" created in xenstore?
On Tue, Sep 20, 2005 at 07:41:09PM +0800, Tian, Kevin wrote:> If making following temp hack in XendDomainInfo.py: > > back = { ''type'' : type, > ''params'' : params, > ''frontend'' : frontpath, > - ''frontend-id'' : "%i" % self.domid } > + ''frontend-id'' : "%i" % self.domid, > + ''physical-device'' : "%li" % blkdev_name_to_number(params) } > xstransact.Write(backpath, back) > > Then physical-device is created under backend and the communication can be > setup. However this hard code definitely breaks existing logical > behind. Should I do any specific configuration? From the Blkctl.py, it said > that "phy" type doesn''t require bind/unbind script, but I didn''t find the > place to add that item specifically. ;-(Hi Kevin, The key physical-device is created inside the block-phy script, as I think you found. This is called by xen-backend.agent, which in turn is called by the Linux hotplug system (keying off the name ''xen-backend''). The file Blkctl.py is completely unused, AFAICT, and should be removed. The problems that you are having starting your device are probably down to a broken or nonexistent installation of the hotplug system. You should check that first. If your hotplug system is working, then maybe you are failing to find xenstore-write. HTH, Ewan. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Tian, Kevin
2005-Sep-21 09:06 UTC
RE: [Xen-devel] When is "physical-device" created in xenstore?
>From: Ewan Mellor [mailto:ewan@xensource.com] >Sent: 2005年9月20日 21:12 >On Tue, Sep 20, 2005 at 07:41:09PM +0800, Tian, Kevin wrote: > >> If making following temp hack in XendDomainInfo.py: >> >> back = { ''type'' : type, >> ''params'' : params, >> ''frontend'' : frontpath, >> - ''frontend-id'' : "%i" % self.domid } >> + ''frontend-id'' : "%i" % self.domid, >> + ''physical-device'' : "%li" % >blkdev_name_to_number(params) } >> xstransact.Write(backpath, back) >> >> Then physical-device is created under backend and the communication can be >> setup. However this hard code definitely breaks existing logical >> behind. Should I do any specific configuration? From the Blkctl.py, it said >> that "phy" type doesn''t require bind/unbind script, but I didn''t find the >> place to add that item specifically. ;-( > >Hi Kevin, > >The key physical-device is created inside the block-phy script, as I think you >found. This is called by xen-backend.agent, which in turn is called by the >Linux hotplug system (keying off the name ''xen-backend''). The file Blkctl.py >is completely unused, AFAICT, and should be removed. > >The problems that you are having starting your device are probably down to a >broken or nonexistent installation of the hotplug system. You should check >that first. If your hotplug system is working, then maybe you are failing to >find xenstore-write. > >HTH, > >Ewan.Hi, Ewan, Thanks for your description about the work flow. Actually I found the cause from bad lines in xen-backend.script, which has already been fixed by Keir several days ago. After removing the bad lines, the "physical-device" can be created automatically. Thanks, Kevin _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel