Please find attached a patch to add built-in support for iSCSI into QEMU. Please review and/or apply this patch.
This is the latest version of this patch and I think I have addressed all previous concerns and suggestions. Using built-in iSCSI support has many advantages for certain use cases : * if you have very many iSCSI devices it may be impractical to expose all LUNs to the underlying host. * the devices become private to the guest and are not visible to the host. This automatically avoids polluting the page-cache on the host. * security, the devices are private to the guest, which prevents other guests or the host itself from accessing the devices. * security, it allows non-root users a secure way to get private and password protected access to the device by using CHAP authentication. * migration, many other virtualization systems provide built-in iscsi clients like this. Also providing this as feature in QEMU may make it easier for such users to migrate over to QEMU/KVM. * easier to maintain. For users with very many QEMU instances I think having guest-private iscsi targets and LUNs may be easier to manage than 'huge set of files in /dev/scsi/*' * easier to maintain, when copying a QEMU instance from one host to another, this offers a more self-contained solution where the QEMU command line itself cotnains all required storage configuration, instead of also having to coordinate this move with setting up and tearing down open-iscsi logins on the underlying hosts. The patch has been tested by installing and running several distributions such as RHEL6 and Ubuntu on devices, both system disk as well as the installer CDROM as being iscsi devices. This testing has also been performed by running full QEMU under valgrind. Performance is comparable to using open-iscsi devices.