Resending since the mail might have been lost...

List,


Please find attached a patch that add an initial iSCSI client library
and support to kvm-qemu.
This allows to use iSCSI devices without making them visible to the
host (and pollute the page cahce on the host)
and allows kvm-qemu to access the devices directly.


This works with iscsi resources, both disks and cdrom, make available
through TGTD.

See this as experimental at this stage.
This is a very early implementation but id does works with TGTD.
Significant effort is required to add additional features to ensure
full interoperability with other initiators.


The syntax to describe an iscsi lun is :
   iscsi://<host>[:port]/<target-name>/<lun>

Example :
  -drive file=iscsi://127.0.0.1:3260/iqn.ronnie.test/1
or
  -cdrom iscsi://127.0.0.1:3260/iqn.ronnie.test/2


Future work needed :
 - document this in the manpage
 - implement target initiated NOP
 - implement uni- and bi-directional chap
 - implement a lot of missing iscsi functionality
...
 - maybe get it hooked into bus=scsi  just like it today can hook into
/dev/sg* devices and send CDBs directly to the LUN,
  that part of the code could be enhanced to also provide straight
passthrough SCSI to these iscsi-luns too.


My long term aim is to convert the ./block/iscsi/ subdirectory into a
standalone general purpose iscsi client library
why I would want to avoid implementing qemu specific code inside this directory!


Please comment and/or apply.



Many thanks to anthony l and stefan h that did an initial review so I
could eliminate the most obvious flaws and mistakes in the interfacing
code.
Thanks!.


Now since this is open source, there must be other people out there
interested in iscsi, so lets work together to build a mature and
complete iscsi library for kvm-qemu and others.


Have fun,
ronnie sahlberg

Attachment: 0001-initial-iscsi-support-for-kvm-qemu.patch.gz
Description: GNU Zip compressed data

Reply via email to