List, Please find attached a gzipped patch against master that adds support of iSCSI. It is sent in gz format because of its uncompressed size, >100kb.
This patch adds support for attaching directorly to iSCSI resources, both DISK/SBC and CDROM/MMC, without the need to make the devices visible to the host. There are two parts to this support : ./block/iscsi/* : This is a fully async iscsi initiator client library. This directory does not contain any QEMU specific code with the hope it can later be re-used by other projects that also need iscsi-initiator functionality. ./block/iscsi.c : The QEMU block driver that intergrates the iscsi-initiator library with QEMU. The iscsi library is incomplete, but sufficient to interoperate with TGTD. With trivial enhancements(target-NOP) it should work with most other targets too. The goal is to expand the library to add more features over time, so that over time it will become a full-blown iscsi initiator implementation as a library. Some features that should be added are * support for target initiated NOP. TGTD does not use these but some other targets do. * support for uni- and bi-directional CHAP authentication. * additional iscsi functionality The syntax to specify a iscsi resource is iscsi://<host>[:port]/<target-iqn-name>/<lun> Example : -drive file=iscsi://127.0.0.1:3260/iqn.ronnie.test/1 -cdrom iscsi://127.0.0.1:3260/iqn.ronnie.test/2 Please review and/or commit. regards ronnie sahlberg