scsi: removed dev->maxlun field

This variable was misleading and unnecessary. Replaced all it's
occurences with SPDK_SCSI_DEV_MAX_LUN.

Change-Id: Iaaf9ed5efb60f9a89585121d2fbec7b43c3723e9
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/368115
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2017-07-05 15:10:30 +02:00 committed by Jim Harris
parent f25f84b796
commit fa15dc611a
11 changed files with 21 additions and 58 deletions

View File

@ -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); 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_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); 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); bool spdk_scsi_dev_has_pending_tasks(const struct spdk_scsi_dev *dev);
void spdk_scsi_dev_destruct(struct spdk_scsi_dev *dev); void spdk_scsi_dev_destruct(struct spdk_scsi_dev *dev);

View File

@ -295,7 +295,7 @@ spdk_rpc_get_target_nodes(struct spdk_jsonrpc_request *request,
struct spdk_iscsi_globals *iscsi = &g_spdk_iscsi; struct spdk_iscsi_globals *iscsi = &g_spdk_iscsi;
struct spdk_json_write_ctx *w; struct spdk_json_write_ctx *w;
size_t tgt_idx; size_t tgt_idx;
int i, maxlun; int i;
if (params != NULL) { if (params != NULL) {
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS, 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_name(w, "luns");
spdk_json_write_array_begin(w); spdk_json_write_array_begin(w);
maxlun = spdk_scsi_dev_get_max_lun(tgtnode->dev); for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) {
for (i = 0; i < maxlun; i++) {
struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(tgtnode->dev, i); struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(tgtnode->dev, i);
if (lun) { if (lun) {

View File

@ -232,7 +232,6 @@ static void
spdk_iscsi_config_dump_target_nodes(FILE *fp) spdk_iscsi_config_dump_target_nodes(FILE *fp)
{ {
int t = 0, l = 0, m = 0; int t = 0, l = 0, m = 0;
int maxlun;
struct spdk_scsi_dev *dev = NULL; struct spdk_scsi_dev *dev = NULL;
struct spdk_iscsi_tgt_node *target = 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, fprintf(fp, TARGET_NODE_AUTH_TMPL,
authmethod, authgroup, usedigest); authmethod, authgroup, usedigest);
maxlun = spdk_scsi_dev_get_max_lun(dev); for (l = 0; l < SPDK_SCSI_DEV_MAX_LUN; l++) {
for (l = 0; l < maxlun; l++) {
struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(dev, l); struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(dev, l);
if (!lun) { if (!lun) {

View File

@ -1048,11 +1048,10 @@ int
spdk_iscsi_tgt_node_cleanup_luns(struct spdk_iscsi_conn *conn, spdk_iscsi_tgt_node_cleanup_luns(struct spdk_iscsi_conn *conn,
struct spdk_iscsi_tgt_node *target) struct spdk_iscsi_tgt_node *target)
{ {
int i, maxlun; int i;
struct spdk_iscsi_task *task; struct spdk_iscsi_task *task;
maxlun = spdk_scsi_dev_get_max_lun(target->dev); for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) {
for (i = 0; i < maxlun; i++) {
struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(target->dev, i); struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(target->dev, i);
if (!lun) if (!lun)

View File

@ -76,7 +76,7 @@ spdk_scsi_dev_destruct(struct spdk_scsi_dev *dev)
return; return;
} }
for (i = 0; i < dev->maxlun; i++) { for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) {
if (dev->lun[i] == NULL) { if (dev->lun[i] == NULL) {
continue; continue;
} }
@ -103,9 +103,6 @@ spdk_scsi_dev_add_lun(struct spdk_scsi_dev *dev,
lun->id = id; lun->id = id;
lun->dev = dev; lun->dev = dev;
dev->lun[id] = lun; dev->lun[id] = lun;
if (dev->maxlun <= id) {
dev->maxlun = id + 1;
}
return 0; return 0;
} }
@ -115,21 +112,11 @@ spdk_scsi_dev_delete_lun(struct spdk_scsi_dev *dev,
struct spdk_scsi_lun *lun) struct spdk_scsi_lun *lun)
{ {
int i; int i;
int maxlun = 0;
for (i = 0; i < dev->maxlun; i++) { for (i = 0; i < SPDK_SCSI_DEV_MAX_LUN; i++) {
if (dev->lun[i] && dev->lun[i] == lun) if (dev->lun[i] == lun)
dev->lun[i] = NULL; 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. /* 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); strncpy(dev->name, name, SPDK_SCSI_DEV_MAX_NAME);
dev->num_ports = 0; dev->num_ports = 0;
dev->maxlun = 0;
dev->protocol_id = protocol_id; dev->protocol_id = protocol_id;
for (i = 0; i < num_luns; i++) { 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); 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]; lun = dev->lun[i];
if (lun == NULL) if (lun == NULL)
continue; continue;
@ -322,16 +308,10 @@ spdk_scsi_dev_get_id(const struct spdk_scsi_dev *dev)
return dev->id; return dev->id;
} }
int
spdk_scsi_dev_get_max_lun(const struct spdk_scsi_dev *dev)
{
return dev->maxlun;
}
struct spdk_scsi_lun * struct spdk_scsi_lun *
spdk_scsi_dev_get_lun(struct spdk_scsi_dev *dev, int lun_id) 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; return NULL;
} }
@ -343,7 +323,7 @@ spdk_scsi_dev_has_pending_tasks(const struct spdk_scsi_dev *dev)
{ {
int i; 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])) { if (dev->lun[i] && spdk_scsi_lun_has_pending_tasks(dev->lun[i])) {
return true; return true;
} }

View File

@ -125,7 +125,8 @@ spdk_bdev_scsi_report_luns(struct spdk_scsi_lun *lun,
hlen = 8; hlen = 8;
dev = lun->dev; 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) if (dev->lun[i] == NULL)
continue; continue;
@ -134,12 +135,12 @@ spdk_bdev_scsi_report_luns(struct spdk_scsi_lun *lun,
lun_id = (uint64_t)i; lun_id = (uint64_t)i;
if (dev->maxlun <= 0x0100) { if (SPDK_SCSI_DEV_MAX_LUN <= 0x0100) {
/* below 256 */ /* below 256 */
method = 0x00U; method = 0x00U;
fmt_lun = (method & 0x03U) << 62; fmt_lun = (method & 0x03U) << 62;
fmt_lun |= (lun_id & 0x00ffU) << 48; fmt_lun |= (lun_id & 0x00ffU) << 48;
} else if (dev->maxlun <= 0x4000) { } else if (SPDK_SCSI_DEV_MAX_LUN <= 0x4000) {
/* below 16384 */ /* below 16384 */
method = 0x01U; method = 0x01U;
fmt_lun = (method & 0x03U) << 62; fmt_lun = (method & 0x03U) << 62;

View File

@ -63,7 +63,6 @@ struct spdk_scsi_dev {
char name[SPDK_SCSI_DEV_MAX_NAME]; char name[SPDK_SCSI_DEV_MAX_NAME];
int maxlun;
struct spdk_scsi_lun *lun[SPDK_SCSI_DEV_MAX_LUN]; struct spdk_scsi_lun *lun[SPDK_SCSI_DEV_MAX_LUN];
int num_ports; int num_ports;

View File

@ -45,7 +45,7 @@
static void static void
json_scsi_dev_write(struct spdk_json_write_ctx *ctx, struct spdk_scsi_dev *dev) 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_name(ctx, "id");
spdk_json_write_int32(ctx, spdk_scsi_dev_get_id(dev)); 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_name(ctx, "luns");
spdk_json_write_array_begin(ctx); 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); struct spdk_scsi_lun *lun = spdk_scsi_dev_get_lun(dev, l);
if (!lun) { if (!lun) {

View File

@ -92,7 +92,7 @@ spdk_scsi_lun_get_id(const struct spdk_scsi_lun *lun)
struct spdk_scsi_lun * struct spdk_scsi_lun *
spdk_scsi_dev_get_lun(struct spdk_scsi_dev *dev, int lun_id) 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; return NULL;
} }
@ -128,7 +128,6 @@ maxburstlength_test(void)
lun.id = 0; lun.id = 0;
dev.maxlun = 1;
dev.lun[0] = &lun; dev.lun[0] = &lun;
conn.full_feature = 1; conn.full_feature = 1;

View File

@ -63,16 +63,10 @@ spdk_iscsi_portal_grp_find_by_tag(int tag)
return NULL; return NULL;
} }
int
spdk_scsi_dev_get_max_lun(const struct spdk_scsi_dev *dev)
{
return dev->maxlun;
}
struct spdk_scsi_lun * struct spdk_scsi_lun *
spdk_scsi_dev_get_lun(struct spdk_scsi_dev *dev, int lun_id) 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; return NULL;
} }

View File

@ -195,9 +195,7 @@ dev_destruct_zero_luns(void)
{ {
struct spdk_scsi_dev dev = { 0 }; struct spdk_scsi_dev dev = { 0 };
/* pass maxlun as 0. /* No luns attached to the dev */
* No luns attached to the dev */
dev.maxlun = 0;
/* free the dev */ /* free the dev */
spdk_scsi_dev_destruct(&dev); spdk_scsi_dev_destruct(&dev);
@ -208,7 +206,6 @@ dev_destruct_null_lun(void)
{ {
struct spdk_scsi_dev dev = { 0 }; struct spdk_scsi_dev dev = { 0 };
dev.maxlun = 1;
/* pass null for the lun */ /* pass null for the lun */
dev.lun[0] = NULL; dev.lun[0] = NULL;
@ -225,7 +222,6 @@ dev_destruct_success(void)
lun = calloc(1, sizeof(struct spdk_scsi_lun)); lun = calloc(1, sizeof(struct spdk_scsi_lun));
/* dev with a single lun */ /* dev with a single lun */
dev.maxlun = 1;
dev.lun[0] = lun; dev.lun[0] = lun;
/* free the dev */ /* free the dev */
@ -542,7 +538,6 @@ dev_print_success(void)
struct spdk_scsi_dev dev = { 0 }; struct spdk_scsi_dev dev = { 0 };
struct spdk_scsi_lun lun = { 0 }; struct spdk_scsi_lun lun = { 0 };
dev.maxlun = 1;
dev.lun[0] = &lun; dev.lun[0] = &lun;
/* Prints the dev and a list of the LUNs associated with /* Prints the dev and a list of the LUNs associated with