I think if you can get iscsi_sysfs.c; get_block_dev_from_lun you have the
code already to do this all. So basically get openiscsi into a lib with
helper functions.
ISCSI_LIB_SRCS = util.o io.o auth.o login.o log.o md5.o sha1.o iface.o
idbm.o iscsi_sysfs.o
To something like libopen-iscsi.so, and link it against libvirt, you have
what is required.
Stefan