From c796b90747bcf7ae8e0f362b6a4942bf38bf60bc Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Tue, 5 Jun 2018 03:53:53 -0700 Subject: [PATCH] bdev/iscsi: break out common code for completing a conn_req Suggested-by: Ziye Yang Signed-off-by: Jim Harris Change-Id: I6ca7f08aed2e12c59518269c7b277895b4817bd8 Reviewed-on: https://review.gerrithub.io/413844 Reviewed-by: Daniel Verkamp Reviewed-by: Ben Walker Reviewed-by: Ziye Yang Reviewed-by: Shuhei Matsumoto Tested-by: SPDK Automated Test System --- lib/bdev/iscsi/bdev_iscsi.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/bdev/iscsi/bdev_iscsi.c b/lib/bdev/iscsi/bdev_iscsi.c index 9c1bdcf6a..ba7ae37c1 100644 --- a/lib/bdev/iscsi/bdev_iscsi.c +++ b/lib/bdev/iscsi/bdev_iscsi.c @@ -467,6 +467,15 @@ static const struct spdk_bdev_fn_table iscsi_fn_table = { .write_config_json = bdev_iscsi_write_config_json, }; +static void +complete_conn_req(struct bdev_iscsi_conn_req *req, struct spdk_bdev *bdev, + int status) +{ + TAILQ_REMOVE(&g_iscsi_conn_req, req, link); + req->create_cb(req->create_cb_arg, bdev, status); + req->deleted = true; +} + static int create_iscsi_lun(struct iscsi_context *context, char *url, char *initiator_iqn, char *name, uint64_t num_blocks, uint32_t block_size, struct spdk_bdev **bdev) @@ -539,10 +548,8 @@ iscsi_readcapacity16_cb(struct iscsi_context *iscsi, int status, } ret: - TAILQ_REMOVE(&g_iscsi_conn_req, req, link); - req->create_cb(req->create_cb_arg, bdev, status); scsi_free_scsi_task(task); - req->deleted = true; + complete_conn_req(req, bdev, status); } static void @@ -563,9 +570,7 @@ iscsi_connect_cb(struct iscsi_context *iscsi, int status, ret: SPDK_ERRLOG("iSCSI error: %s\n", iscsi_get_error(req->context)); - TAILQ_REMOVE(&g_iscsi_conn_req, req, link); - req->create_cb(req->create_cb_arg, NULL, status); - req->deleted = true; + complete_conn_req(req, NULL, status); } static int