[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] IDE CD-ROM drive problem

First off, just wanted to let the developers know this is good stuff, and I've
been having fun playing around with Xen so far, despite some of the
difficulties.  I hope to contribute some work soon to add a couple of more
network drivers to the mix, now that I finally got xeno-unstable working.

I ran into a regression between 1.1 and unstable in the xl_block driver related
to IDE CD-ROM drives.  The drive is correctly detected at boot both by Xen and
Xenolinux, but when I attempt to mount it, like so:

mount /dev/hda /mnt

I get the error "/dev/hda is not a valid block device."

The problems seems to be in this section of code in xenolinux_block_open() in

   if(!gd->part[minor].nr_sects) {
        /* Device either doesn't exist, or has zero capacity; we use
           a few cheesy heuristics to return the relevant error code */
        if(disk->capacity || (minor & (gd->max_p - 1))) {
            // we have a real device, but no such partition, or we just
            // have a partition number so guess this is the problem
            return -ENXIO;     // no such device or address
        } else if (gd->flags[minor >> gd->minor_shift] & GENHD_FL_REMOVABLE) {
            // this is a removable device => assume that media is missing
            return -ENOMEDIUM; // media not present (this is a guess)
        } else
            // just go for the general 'no such device' error
            return -ENODEV;    // no such device

If I remove this code, I can mount the CD-ROM with no difficulty.  I've been
investigating the problem myself, but I figured I'd forward to the experts in
charge who have been into this code a lot more than I have.

Evan Deaubl

This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.