diff --git a/include/spdk/scsi.h b/include/spdk/scsi.h index 791eb51cc..1ce4d0536 100644 --- a/include/spdk/scsi.h +++ b/include/spdk/scsi.h @@ -166,7 +166,6 @@ const struct spdk_scsi_dev *spdk_scsi_lun_get_dev(const struct spdk_scsi_lun *lu const char *spdk_scsi_dev_get_name(const struct spdk_scsi_dev *dev); int spdk_scsi_dev_get_id(const struct spdk_scsi_dev *dev); -int spdk_scsi_dev_get_max_lun(const struct spdk_scsi_dev *dev); struct spdk_scsi_lun *spdk_scsi_dev_get_lun(struct spdk_scsi_dev *dev, int lun_id); bool spdk_scsi_dev_has_pending_tasks(const struct spdk_scsi_dev *dev); void spdk_scsi_dev_destruct(struct spdk_scsi_dev *dev); diff --git a/lib/iscsi/iscsi_rpc.c b/lib/iscsi/iscsi_rpc.c index 522a7d4af..00f6e2b2f 100644 --- a/lib/iscsi/iscsi_rpc.c +++ b/lib/iscsi/iscsi_rpc.c @@ -295,7 +295,7 @@ spdk_rpc_get_target_nodes(struct spdk_jsonrpc_request *request, struct spdk_iscsi_globals *iscsi = &g_spdk_iscsi; struct spdk_json_write_ctx *w; size_t tgt_idx; - int i, maxlun; + int i; if (params != NULL) { spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS, @@ -341,8 +341,7 @@ spdk_rpc_get_target_nodes(struct spdk_jsonrpc_request *request, spdk_json_write_name(w, "luns"); spdk_json_write_array_begin(w); - maxlun = spdk_scsi_dev_get_max_lun(tgtnode->dev); - for (i = 0; i < maxlun; i++) { + for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) { struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(tgtnode->dev, i); if (lun) { diff --git a/lib/iscsi/iscsi_subsystem.c b/lib/iscsi/iscsi_subsystem.c index a6bd616e5..01872dadb 100644 --- a/lib/iscsi/iscsi_subsystem.c +++ b/lib/iscsi/iscsi_subsystem.c @@ -232,7 +232,6 @@ static void spdk_iscsi_config_dump_target_nodes(FILE *fp) { int t = 0, l = 0, m = 0; - int maxlun; struct spdk_scsi_dev *dev = NULL; struct spdk_iscsi_tgt_node *target = NULL; @@ -283,8 +282,7 @@ spdk_iscsi_config_dump_target_nodes(FILE *fp) fprintf(fp, TARGET_NODE_AUTH_TMPL, authmethod, authgroup, usedigest); - maxlun = spdk_scsi_dev_get_max_lun(dev); - for (l = 0; l < maxlun; l++) { + for (l = 0; l < SPDK_SCSI_DEV_MAX_LUN; l++) { struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(dev, l); if (!lun) { diff --git a/lib/iscsi/tgt_node.c b/lib/iscsi/tgt_node.c index 438131acb..13daedb67 100644 --- a/lib/iscsi/tgt_node.c +++ b/lib/iscsi/tgt_node.c @@ -1048,11 +1048,10 @@ int spdk_iscsi_tgt_node_cleanup_luns(struct spdk_iscsi_conn *conn, struct spdk_iscsi_tgt_node *target) { - int i, maxlun; + int i; struct spdk_iscsi_task *task; - maxlun = spdk_scsi_dev_get_max_lun(target->dev); - for (i = 0; i < maxlun; i++) { + for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) { struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(target->dev, i); if (!lun) diff --git a/lib/scsi/dev.c b/lib/scsi/dev.c index f8f33a044..5e96d55d5 100644 --- a/lib/scsi/dev.c +++ b/lib/scsi/dev.c @@ -76,7 +76,7 @@ spdk_scsi_dev_destruct(struct spdk_scsi_dev *dev) return; } - for (i = 0; i < dev->maxlun; i++) { + for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) { if (dev->lun[i] == NULL) { continue; } @@ -103,9 +103,6 @@ spdk_scsi_dev_add_lun(struct spdk_scsi_dev *dev, lun->id = id; lun->dev = dev; dev->lun[id] = lun; - if (dev->maxlun <= id) { - dev->maxlun = id + 1; - } return 0; } @@ -115,21 +112,11 @@ spdk_scsi_dev_delete_lun(struct spdk_scsi_dev *dev, struct spdk_scsi_lun *lun) { int i; - int maxlun = 0; - for (i = 0; i < dev->maxlun; i++) { - if (dev->lun[i] && dev->lun[i] == lun) + for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) { + if (dev->lun[i] == lun) dev->lun[i] = NULL; } - - for (i = 0; i < dev->maxlun; i++) { - if (dev->lun[i]) { - if (maxlun <= dev->lun[i]->id) { - maxlun = dev->lun[i]->id + 1; - } - } - } - dev->maxlun = maxlun; } /* This typedef exists to work around an astyle 2.05 bug. @@ -173,7 +160,6 @@ spdk_scsi_dev_construct(const char *name, char *lun_name_list[], int *lun_id_lis strncpy(dev->name, name, SPDK_SCSI_DEV_MAX_NAME); dev->num_ports = 0; - dev->maxlun = 0; dev->protocol_id = protocol_id; for (i = 0; i < num_luns; i++) { @@ -270,7 +256,7 @@ spdk_scsi_dev_print(struct spdk_scsi_dev *dev) printf("device %d HDD UNIT\n", dev->id); - for (i = 0; i < dev->maxlun; i++) { + for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) { lun = dev->lun[i]; if (lun == NULL) continue; @@ -322,16 +308,10 @@ spdk_scsi_dev_get_id(const struct spdk_scsi_dev *dev) return dev->id; } -int -spdk_scsi_dev_get_max_lun(const struct spdk_scsi_dev *dev) -{ - return dev->maxlun; -} - struct spdk_scsi_lun * spdk_scsi_dev_get_lun(struct spdk_scsi_dev *dev, int lun_id) { - if (lun_id < 0 || lun_id >= dev->maxlun) { + if (lun_id < 0 || lun_id >= SPDK_SCSI_DEV_MAX_LUN) { return NULL; } @@ -343,7 +323,7 @@ spdk_scsi_dev_has_pending_tasks(const struct spdk_scsi_dev *dev) { int i; - for (i = 0; i < dev->maxlun; ++i) { + for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; ++i) { if (dev->lun[i] && spdk_scsi_lun_has_pending_tasks(dev->lun[i])) { return true; } diff --git a/lib/scsi/scsi_bdev.c b/lib/scsi/scsi_bdev.c index 21e649dc9..483685c14 100644 --- a/lib/scsi/scsi_bdev.c +++ b/lib/scsi/scsi_bdev.c @@ -125,7 +125,8 @@ spdk_bdev_scsi_report_luns(struct spdk_scsi_lun *lun, hlen = 8; dev = lun->dev; - for (i = 0; i < dev->maxlun; i++) { + + for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) { if (dev->lun[i] == NULL) continue; @@ -134,12 +135,12 @@ spdk_bdev_scsi_report_luns(struct spdk_scsi_lun *lun, lun_id = (uint64_t)i; - if (dev->maxlun <= 0x0100) { + if (SPDK_SCSI_DEV_MAX_LUN <= 0x0100) { /* below 256 */ method = 0x00U; fmt_lun = (method & 0x03U) << 62; fmt_lun |= (lun_id & 0x00ffU) << 48; - } else if (dev->maxlun <= 0x4000) { + } else if (SPDK_SCSI_DEV_MAX_LUN <= 0x4000) { /* below 16384 */ method = 0x01U; fmt_lun = (method & 0x03U) << 62; diff --git a/lib/scsi/scsi_internal.h b/lib/scsi/scsi_internal.h index cbc127e0c..bcaf9fdac 100644 --- a/lib/scsi/scsi_internal.h +++ b/lib/scsi/scsi_internal.h @@ -63,7 +63,6 @@ struct spdk_scsi_dev { char name[SPDK_SCSI_DEV_MAX_NAME]; - int maxlun; struct spdk_scsi_lun *lun[SPDK_SCSI_DEV_MAX_LUN]; int num_ports; diff --git a/lib/vhost/vhost_rpc.c b/lib/vhost/vhost_rpc.c index 2eefe24c3..84d570977 100644 --- a/lib/vhost/vhost_rpc.c +++ b/lib/vhost/vhost_rpc.c @@ -45,7 +45,7 @@ static void json_scsi_dev_write(struct spdk_json_write_ctx *ctx, struct spdk_scsi_dev *dev) { - int l, maxlun; + int l; spdk_json_write_name(ctx, "id"); spdk_json_write_int32(ctx, spdk_scsi_dev_get_id(dev)); @@ -55,8 +55,8 @@ json_scsi_dev_write(struct spdk_json_write_ctx *ctx, struct spdk_scsi_dev *dev) spdk_json_write_name(ctx, "luns"); spdk_json_write_array_begin(ctx); - maxlun = spdk_scsi_dev_get_max_lun(dev); - for (l = 0; l < maxlun; l++) { + + for (l = 0; l < SPDK_SCSI_DEV_MAX_LUN; l++) { struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(dev, l); if (!lun) { diff --git a/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c b/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c index c1bc0223a..b7c842b30 100644 --- a/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c +++ b/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c @@ -92,7 +92,7 @@ spdk_scsi_lun_get_id(const struct spdk_scsi_lun *lun) struct spdk_scsi_lun * spdk_scsi_dev_get_lun(struct spdk_scsi_dev *dev, int lun_id) { - if (lun_id < 0 || lun_id > dev->maxlun) { + if (lun_id < 0 || lun_id >= SPDK_SCSI_DEV_MAX_LUN) { return NULL; } @@ -128,7 +128,6 @@ maxburstlength_test(void) lun.id = 0; - dev.maxlun = 1; dev.lun[0] = &lun; conn.full_feature = 1; diff --git a/test/unit/lib/iscsi/tgt_node.c/tgt_node_ut.c b/test/unit/lib/iscsi/tgt_node.c/tgt_node_ut.c index 50e41fd7f..6ee94e85e 100644 --- a/test/unit/lib/iscsi/tgt_node.c/tgt_node_ut.c +++ b/test/unit/lib/iscsi/tgt_node.c/tgt_node_ut.c @@ -63,16 +63,10 @@ spdk_iscsi_portal_grp_find_by_tag(int tag) return NULL; } -int -spdk_scsi_dev_get_max_lun(const struct spdk_scsi_dev *dev) -{ - return dev->maxlun; -} - struct spdk_scsi_lun * spdk_scsi_dev_get_lun(struct spdk_scsi_dev *dev, int lun_id) { - if (lun_id < 0 || lun_id > dev->maxlun) { + if (lun_id < 0 || lun_id >= SPDK_SCSI_DEV_MAX_LUN) { return NULL; } diff --git a/test/unit/lib/scsi/dev.c/dev_ut.c b/test/unit/lib/scsi/dev.c/dev_ut.c index 69a1bcb7a..357329b0b 100644 --- a/test/unit/lib/scsi/dev.c/dev_ut.c +++ b/test/unit/lib/scsi/dev.c/dev_ut.c @@ -195,9 +195,7 @@ dev_destruct_zero_luns(void) { struct spdk_scsi_dev dev = { 0 }; - /* pass maxlun as 0. - * No luns attached to the dev */ - dev.maxlun = 0; + /* No luns attached to the dev */ /* free the dev */ spdk_scsi_dev_destruct(&dev); @@ -208,7 +206,6 @@ dev_destruct_null_lun(void) { struct spdk_scsi_dev dev = { 0 }; - dev.maxlun = 1; /* pass null for the lun */ dev.lun[0] = NULL; @@ -225,7 +222,6 @@ dev_destruct_success(void) lun = calloc(1, sizeof(struct spdk_scsi_lun)); /* dev with a single lun */ - dev.maxlun = 1; dev.lun[0] = lun; /* free the dev */ @@ -542,7 +538,6 @@ dev_print_success(void) struct spdk_scsi_dev dev = { 0 }; struct spdk_scsi_lun lun = { 0 }; - dev.maxlun = 1; dev.lun[0] = &lun; /* Prints the dev and a list of the LUNs associated with