|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] RFC: Xen cdrom haldaemon
On Wed, Sep 05, 2007 at 10:43:30AM -0600, Pat Campbell wrote:
> The basic flow of the patch is:
>
> Kernel:
> blkback driver:
> if block device is a physical cdrom then
> Add media_present=1 into xenstore backend/vbd
> for this device
> Place a xenstore watch on media_present
>
> watch_handler
> if watch token is media_present
> read value
> if 0 then close block device fd
> if 1 then re-open block device fd
>
> Any access with fd closed results in EACCESS error
>
> qemu
> if block device is a cdrom
> Place a xenstore watch on media_present
> watch_handler
> if watch token is media_present
> read value
> if 0 then close block device
> if 1 then re-open block device and set media_changed
>
> Any access with fd closed results in EACCESS error
>
> xend
> Starts XEN HalDaemon process
>
> XEN HalDaemon
> Registers event callback for HALD events
> callback handler
> gets device major/minor numbers
> for each vbd in xenstore
> if matching major and minor
> if add_event ( cdrom door closed with media )
> xenstore write 1 to vbd/media_present
> else ( cddrom door open )
> xenstore write 0 to vbd/media_present
>
> I am just learning python, could use a python guy to enhance and
> generalize.
To be honest this sounds like rather overkill. Why on earth is blkback
opening the device in the first place? blkback/blkfront don't have any
kind of support for CDROM capabilities, so paravirt drivers for a disk
device Xend marked as a cdrom don't make sense. If we stop blkback from
processing any devices with the ':cdrom' annotation, then only QEMU will
have the device open & the problem should go away if I'm understanding
your description properly.
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|