All of lore.kernel.org
 help / color / mirror / Atom feed
* blkif requires /dev/hdX for xm create /w devfs
@ 2004-11-26 23:22 Erik de Bruijn - BudgetDedicated.com
  2004-11-28 11:11 ` Ian Pratt
  0 siblings, 1 reply; 2+ messages in thread
From: Erik de Bruijn - BudgetDedicated.com @ 2004-11-26 23:22 UTC (permalink / raw)
  To: xen-devel

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/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-11-28 11:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-26 23:22 blkif requires /dev/hdX for xm create /w devfs Erik de Bruijn - BudgetDedicated.com
2004-11-28 11:11 ` Ian Pratt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.