logout: allow additional PDU flags to be passed internally

Signed-off-by: Peter Lieven <pl@kamp.de>
This commit is contained in:
Peter Lieven
2014-06-16 16:23:28 +02:00
parent e940f95769
commit 344b21d37d
2 changed files with 14 additions and 4 deletions
+4
View File
@@ -350,6 +350,10 @@ iscsi_itt_post_increment(struct iscsi_context *iscsi);
void iscsi_timeout_scan(struct iscsi_context *iscsi); void iscsi_timeout_scan(struct iscsi_context *iscsi);
int
iscsi_logout_async_internal(struct iscsi_context *iscsi, iscsi_command_cb cb,
void *private_data, uint32_t flags);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
+10 -4
View File
@@ -1117,10 +1117,9 @@ iscsi_process_login_reply(struct iscsi_context *iscsi, struct iscsi_pdu *pdu,
return 0; return 0;
} }
int int
iscsi_logout_async(struct iscsi_context *iscsi, iscsi_command_cb cb, iscsi_logout_async_internal(struct iscsi_context *iscsi, iscsi_command_cb cb,
void *private_data) void *private_data, uint32_t flags)
{ {
struct iscsi_pdu *pdu; struct iscsi_pdu *pdu;
@@ -1154,7 +1153,7 @@ iscsi_logout_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
pdu->callback = cb; pdu->callback = cb;
pdu->private_data = private_data; pdu->private_data = private_data;
pdu->flags |= ISCSI_PDU_CORK_WHEN_SENT; pdu->flags |= ISCSI_PDU_CORK_WHEN_SENT | flags;
if (iscsi_queue_pdu(iscsi, pdu) != 0) { if (iscsi_queue_pdu(iscsi, pdu) != 0) {
iscsi_set_error(iscsi, "Out-of-memory: failed to queue iscsi " iscsi_set_error(iscsi, "Out-of-memory: failed to queue iscsi "
@@ -1166,6 +1165,13 @@ iscsi_logout_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
return 0; return 0;
} }
int
iscsi_logout_async(struct iscsi_context *iscsi, iscsi_command_cb cb,
void *private_data)
{
return iscsi_logout_async_internal(iscsi, cb, private_data, 0);
}
int int
iscsi_process_logout_reply(struct iscsi_context *iscsi, struct iscsi_pdu *pdu, iscsi_process_logout_reply(struct iscsi_context *iscsi, struct iscsi_pdu *pdu,
struct iscsi_in_pdu *in) struct iscsi_in_pdu *in)