6981b79516d96092571f09dc2a204f8c391cbd2a
When non-blocking connect completes the error code can be read using getsockopt(SO_ERROR). Doing this is important for identifying failure to connect, especially if POLLERR and POLLHUP were not employed by the user. The QEMU iscsi block driver does not use POLLERR/POLLHUP and depends on SO_ERROR to detect connection failure. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Libiscsi is a clientside library to implement the iSCSI protocol that can be used to access resource of an iSCSI Target. The library is fully async with regards to iscsi commands and scsi tasks, but a sync layer is also provided for ease of use for simpler applications. The src directory contain a handful of useful iscsi utilities such as logging in to and enumerating all targets on a portal and all devices of a target. The examples directory contain example implementation of how to access both the sync and acync api of libiscsi. Libiscsi is a work in progress. It aims to become a full async library for iscsi functionality, including all features required to establish and maintain a iscsi session, as well as a low level scsi library to create scsi cdb's and parse/unmarshall data-in structures. Installation ============ ./autogen.sh ./configure make sudo make install Build RPM ========= To build RPMs run the following script from the libiscsi root directory ./packaging/RPM/makerpms.sh
Description
Languages
C
97.7%
Shell
1.2%
Makefile
0.6%
M4
0.5%