libiscsi: fix dangling pointer for outqueue_current

The outqueue_current PDU might also be in waitpdu if it does not have
ISCSI_PDU_DELETE_WHEN_SENT.  outqueue_current is freed after the
waitpdu list (for reconnect or defer_reconnect), or sometimes not
considered at all (for cancel), and this can cause a dangling pointer.

Keep outqueue_current up to date when a PDU is freed.  A bit hacky,
but it avoids touching code all over the place.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
bump ABI version again

1.10 and 1.11 both introduced incompatible changes to the
libiscsi ABI.  Please do not do that, and feel free to Cc
me on any patch that touches include/.  In the meanwhile,
bump the soname of the library.  I suggest releasing 1.11.1
with this change for distros.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
iscsi-test: check for invalid descriptors offsets in get_lba_status

Dell Equallogic sans report an invalid LBA offset in the descriptor when
using 4k LUNs. Check the descriptor for consistency with the request.

Signed-off-by: Peter Lieven <pl@kamp.de>
Merge pull request #114 from bonzini/iscsi-soname

bump ABI version again
bump api version in iscsi.h

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Merge pull request #116 from plieven/export_uint64

include: add prototypes for scsi_{get,set}_uint64
Merge pull request #118 from plieven/for-ronnie

examples: additional options to iscsi-dd
Merge pull request #125 from plieven/iscsi-test

iscsi-test: check for invalid descriptors offsets in get_lba_status
Merge pull request #123 from plieven/asyncv3

add support for async messages
Merge pull request #108 from bonzini/reconnect-dangling-pointer-fix

libiscsi: fix dangling pointer for outqueue_current
iscsi-swp: Check user[0]!=0 instead of user!=NULL. user is no longer a pointer.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
iscsi_which_events: do not set POLLOUT if context is corked

if the socket is corked we otherwise set POLLOUT and then
do not sent. Depending on the event loop implementation this
can result in a busy wait.

Signed-off-by: Peter Lieven <pl@kamp.de>
Revert "Rewrite and simplify iscsi_iovector_readv_writev"

Since writing headers and payload in a single iov has never been
implementend and after thinking about it several times seems to
be very hairy I would like to revert this change since
the original implementation is in O(1) while the changed one
is in O(n). This results in a complexity of O(n^2) instead of
O(n) for the whole send operation.

This reverts commit 06eab264f64fccec76553c136db8608e8c069495.
Merge branch 'async_avoid_busy_wait'
Merge branch 'revert_iovector'