Erik de Bruijn - BudgetDedicated.com
2004-Nov-26  23:22 UTC
[Xen-devel] blkif requires /dev/hdX for xm create /w devfs
Hello all,
We have a host that has no /dev/hd{a,b,c,d}, only serial ATA (/dev/hde 
through hdi). It runs devfs, so it has no entries for devices that do 
not seem to be present. /dev/hda1 does not exist.
When trying to create a new xm domain, it will not be able to stat 
/dev/hda1 when it tries to look up the device number(s) of it. When 
/dev/hda1 exists it does work. Is this behavior appropriate? Are 
domain0''s major/minor number better to use than the known standard 
entries? If not, I suggest modifying it. If it is, the patch could still 
be aplied for systems that lack the /dev/ entries as fallback information.
It can probably rely on the following information, because it''s common 
to most/all POSIX systems:
hda: 3,0
hda1-20: 3,1-20
hdb: 3,64
hdb1-20: 3,65-84
hdc: 22,0
hdc1-20: 22,1-20
hdd: 22,64
hdd1-20: 22,65-84
If you don''t want to assume such a numbering scheme it would be nicest 
to have it recognise devfs, making it devfs compliant, though I''d 
understand if you have more important things to do!
I''m no python expert, but here''s a pseudocode patch:
INPUT: $hddev (examples: hda1, hdd8)
hd_offsets = [ a = 0, b = 64, c = 0, d = 64 ]
$1, $2 = regex("hd([a-d])([0-9]{1,2})",$hddev)
hd_offset = $hd_offsets[$1]
hd_minor = $2 + hd_offset
hd_majors = [ a = 3, b = 3, c = 22, d = 22 ]
hd_major = hd_majors[$1]
OUTPUT: hd_major, hd_minor
I believe this should be written for 
xen-2.0.bk/dist/install/lib/python/xen/xend/server/blkif.py, somewhere 
below line 54.
I hope this stupid example speeds up the process of resolving this 
issue. In the mean time I''ll work around it by providing a fake /dev.
My assumptions are based on this output:
host home # tail -f /var/log/xend.log
host home # xm create pijan.xenconf -c
Using config file "pijan.xenconf".
Error: Error creating domain: vbd: Device not found: hda1
host home # [2004-11-26 23:28:32 xend] DEBUG (XendDomainInfo:720) 
init_domain> Created domain=24 name=bla memory=512
[2004-11-26 23:28:32 xend] INFO (console:92) Created console id=13 
domain=24 port=9624
[2004-11-26 23:28:32 xend] DEBUG (XendDomainInfo:1102) Creating vbd 
dom=24 uname=file:/home/VMs/bla//root_fs
[2004-11-26 23:28:32 xend] DEBUG (blkif:63) exception looking up device 
number for hda1: [Errno 2] No such file or directory:
''/dev/hda1''
[2004-11-26 23:28:32 xend] DEBUG (XendDomainInfo:674) Destroying vbds 
for domain 24
[2004-11-26 23:28:32 xend] DEBUG (blkif:541) Destroying blkif domain=24
[2004-11-26 23:28:32 xend] DEBUG (XendDomainInfo:634) Closing console, 
domain 24
[2004-11-26 23:28:32 xend] DEBUG (XendDomainInfo:622) Closing channel to 
domain 24
[2004-11-26 23:28:32 xend] ERROR (SrvBase:162) op=create: Error creating 
domain: vbd: Device not found: hda1
As comparison, a working device number (when issuing it with "hdi1"):
[2004-11-26 23:45:40 xend] INFO (console:92) Created console id=13 
domain=25 port=9625
[2004-11-26 23:45:41 xend] DEBUG (XendDomainInfo:1102) Creating vbd 
dom=25 uname=file:/home/VMs/bla/root_fs
[2004-11-26 23:45:41 xend] DEBUG (blkif:146) Connecting blkif 
<BlkifBackendInterface 25 0>
[2004-11-26 23:45:41 xend] DEBUG (XendDomainInfo:1102) Creating vbd 
dom=25 uname=file:/home/VMs/bla/swap_fs
[2004-11-26 23:45:41 xend] DEBUG (blkif:63) exception looking up device 
number for hda2: [Errno 2] No such file or directory:
''/dev/hda2''
[2004-11-26 23:45:41 xend] DEBUG (XendDomainInfo:674) Destroying vbds 
for domain 25
[2004-11-26 23:45:41 xend] DEBUG (blkif:541) Destroying blkif domain=25
[2004-11-26 23:45:41 xend] DEBUG (blkif:397) Destroying vbd domain=25 idx=0
[2004-11-26 23:45:41 xend] DEBUG (XendDomainInfo:634) Closing console, 
domain 25
[2004-11-26 23:45:41 xend] DEBUG (XendDomainInfo:622) Closing channel to 
domain 25
[2004-11-26 23:45:41 xend] ERROR (SrvBase:162) op=create: Error creating 
domain: vbd: Device not found: hda2
I hope I''m helpful!
-- 
Kind regards,
Erik de Bruijn
BudgetDedicated
www.BudgetDedicated.com | Tel. +31 492 430559 | Fax. +31 492 663870 | Mob. +31 6
21856715 | Adres: Haagwinde 16 | Zipcode NL-5731 WD Mierlo
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xen-devel
Ian Pratt
2004-Nov-28  11:11 UTC
Re: [Xen-devel] blkif requires /dev/hdX for xm create /w devfs
> We have a host that has no /dev/hd{a,b,c,d}, only serial ATA (/dev/hde > through hdi). It runs devfs, so it has no entries for devices that do > not seem to be present. /dev/hda1 does not exist. > > When trying to create a new xm domain, it will not be able to stat > /dev/hda1 when it tries to look up the device number(s) of it. When > /dev/hda1 exists it does work. Is this behavior appropriate? Are > domain0''s major/minor number better to use than the known standard > entries? If not, I suggest modifying it. If it is, the patch could still > be aplied for systems that lack the /dev/ entries as fallback information.Yep, we''ve been aware of this for a while. The current situation is particularly daft when you think of Net/FreeBSD domains where it doesn''t make sense to look the target device up on the host at all. The obvious thing to do would be to pass the device name, and then look it up within the guest domain. However, this isn''t easy on all OSes, at least for a boot device. One workaround we added was the ability to specify a device as a hex number, hence you can always uses ''0301'' for /dev/hda1.> It can probably rely on the following information, because it''s common > to most/all POSIX systems: > > hda: 3,0 > hda1-20: 3,1-20 > hdb: 3,64 > hdb1-20: 3,65-84 > hdc: 22,0 > hdc1-20: 22,1-20 > hdd: 22,64 > hdd1-20: 22,65-84Having the common hd[abcd],sd[abcd] devices hardwired into xend as a fall back seems sensible. If someone wants to put together a patch to do this I''ll apply it.> If you don''t want to assume such a numbering scheme it would be nicest > to have it recognise devfs, making it devfs compliant, though I''d > understand if you have more important things to do!Devfs is now deprecated, so it doesn''t make sense for us to go there. We do support its replacement ''udev'', but that''s a separate issue to the one we''re talking about here. Ian ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xen-devel