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