[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC] support more qdisk types
I would like to hear the community's opinion on supporting more qdisk types in xl/libxl, e.g. nbd, rbd, iSCSI, etc. I prefer supporting additional qdisk types in libxl over apps like xl or libvirt doing all the setup, producing a block device, and then passing that to libxl. Each libxl app would have to re-implement functionality already provided by qdisk. libxl already supports IDE, AHCI, SCSI, and Xen PV qdisks. My suggestion is to extend that to initially include nbd, rbd, and iSCSI. Sheepdog, ssh, etc. could be added in the future. I considered several approaches to supporting additional qdisk types, based primarily on changes to the disk cfg and interface. At one extreme is to change nothing and use the existing 'target=' to encode all required config for the additional qdisk types. libxl would need to be taught how to turn the blob into an appropriate qdisk. At the other extreme is extending xl-disk-configuration with discrete knobs for each possible config item and making the libxl_device_disk structure more hierarchical. E.g. libxl_device_disk { ... existing libxl_device_disk_source src; } libxl_device_disk_source { libxl_disk_source_protocol protocol; int num_hosts; libxl_disk_source_host hosts; libxl_disk_source_auth auth; } enum libxl_disk_source_protocol { LIBXL_DISK_SOURCE_PROTOCOL_UNKNOWN = 0, LIBXL_DISK_SOURCE_PROTOCOL_NBD = 1, LIBXL_DISK_SOURCE_PROTOCOL_RBD = 2, LIBXL_DISK_SOURCE_PROTOCOL_ISCSI = 3, } libxl_disk_source_host { char *name; int port; } libxl_disk_source_auth { char *user; char *data; } As an initial RFC, I took a stab at something in the middle, adding a few items to the xl-disk-configuration and libxl_device_disk. Attached is a patch to the doc and IDL illustrating the proposal. Suggests, comments, and feedback warmly welcomed. Regards, Jim Attachment:
RFC-support-more-qdisk-types.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |