Commit e44731d6 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Jim Harris
Browse files

scsi: Remove the claimed flag from LUN



Struct spdk_scsi_lun has the claimed flag as a member.

However the claimed flag is no longer required.

Moreover the claimed flag itself is not used but
spdk_scsi_lun_claim() and _unclaim() functions are used in the
UT code by hard to understand manner. Moving the logic into
spdk_scsi_lun_construct() and _destruct() in the UT code will
be more natural.

Hence remove the claimed flag from LUN and do a little refactoring
in the UT code.

Change-Id: Ica9680b49bbdb5be7c5c4161210fb3a6dcb35229
Signed-off-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/390566


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
parent 7e5ec29a
Loading
Loading
Loading
Loading
+3 −17
Original line number Diff line number Diff line
@@ -81,7 +81,6 @@ spdk_scsi_dev_destruct(struct spdk_scsi_dev *dev)
			continue;
		}

		spdk_scsi_lun_unclaim(dev->lun[i]);
		spdk_scsi_lun_destruct(dev->lun[i]);
		dev->lun[i] = NULL;
	}
@@ -89,22 +88,13 @@ spdk_scsi_dev_destruct(struct spdk_scsi_dev *dev)
	free_dev(dev);
}

static int
static void
spdk_scsi_dev_add_lun(struct spdk_scsi_dev *dev,
		      struct spdk_scsi_lun *lun, int id)
{
	int rc;

	rc = spdk_scsi_lun_claim(lun);
	if (rc < 0) {
		return rc;
	}

	lun->id = id;
	lun->dev = dev;
	dev->lun[id] = lun;

	return 0;
}

void
@@ -133,7 +123,7 @@ spdk_scsi_dev_construct(const char *name, char *lun_name_list[], int *lun_id_lis
	struct spdk_bdev *bdev;
	struct spdk_scsi_lun *lun = NULL;
	bool found_lun_0;
	int i, rc;
	int i;

	if (num_luns == 0) {
		SPDK_ERRLOG("device %s: no LUNs specified\n", name);
@@ -182,11 +172,7 @@ spdk_scsi_dev_construct(const char *name, char *lun_name_list[], int *lun_id_lis
			goto error;
		}

		rc = spdk_scsi_dev_add_lun(dev, lun, lun_id_list[i]);
		if (rc < 0) {
			spdk_scsi_lun_destruct(lun);
			goto error;
		}
		spdk_scsi_dev_add_lun(dev, lun, lun_id_list[i]);
	}

	return dev;
+0 −24
Original line number Diff line number Diff line
@@ -336,30 +336,6 @@ spdk_scsi_lun_destruct(struct spdk_scsi_lun *lun)
	return 0;
}

int
spdk_scsi_lun_claim(struct spdk_scsi_lun *lun)
{
	assert(spdk_lun_db_get_lun(lun->name) != NULL);

	if (lun->claimed != false) {
		return -1;
	}

	lun->claimed = true;
	return 0;
}

int
spdk_scsi_lun_unclaim(struct spdk_scsi_lun *lun)
{
	assert(spdk_lun_db_get_lun(lun->name) != NULL);
	assert(lun->claimed == true);
	lun->claimed = false;
	lun->dev = NULL;

	return 0;
}

int
spdk_scsi_lun_delete(const char *lun_name)
{
+0 −5
Original line number Diff line number Diff line
@@ -107,9 +107,6 @@ struct spdk_scsi_lun {
	/** The LUN is removed */
	bool				removed;

	/** The LUN is clamed */
	bool claimed;

	/** Callback to be fired when LUN removal is first triggered. */
	void (*hotremove_cb)(const struct spdk_scsi_lun *lun, void *arg);

@@ -143,8 +140,6 @@ void spdk_scsi_lun_execute_tasks(struct spdk_scsi_lun *lun);
int spdk_scsi_lun_task_mgmt_execute(struct spdk_scsi_task *task, enum spdk_scsi_task_func func);
void spdk_scsi_lun_complete_task(struct spdk_scsi_lun *lun, struct spdk_scsi_task *task);
void spdk_scsi_lun_complete_mgmt_task(struct spdk_scsi_lun *lun, struct spdk_scsi_task *task);
int spdk_scsi_lun_claim(struct spdk_scsi_lun *lun);
int spdk_scsi_lun_unclaim(struct spdk_scsi_lun *lun);
int spdk_scsi_lun_delete(const char *lun_name);
int spdk_scsi_lun_allocate_io_channel(struct spdk_scsi_lun *lun);
void spdk_scsi_lun_free_io_channel(struct spdk_scsi_lun *lun);
+0 −2
Original line number Diff line number Diff line
@@ -62,8 +62,6 @@ spdk_rpc_get_luns(struct spdk_jsonrpc_request *request,
		struct spdk_scsi_lun *lun = current->lun;

		spdk_json_write_object_begin(w);
		spdk_json_write_name(w, "claimed");
		spdk_json_write_bool(w, lun->claimed);
		spdk_json_write_name(w, "name");
		spdk_json_write_string(w, lun->name);
		spdk_json_write_object_end(w);
+0 −4
Original line number Diff line number Diff line
@@ -318,10 +318,6 @@ def verify_target_nodes_rpc_methods(rpc_py, rpc_param):
           "chap required value is {}, expected {}".format(jsonvalues[0]['chap_required'], rpc_param['chap_required']))
    verify(jsonvalues[0]['chap_auth_group'] == rpc_param['chap_auth_group'], 1,
           "chap auth group value is {}, expected {}".format(jsonvalues[0]['chap_auth_group'], rpc_param['chap_auth_group']))
    output = rpc.get_luns()
    jsonvalue = json.loads(output)
    verify(jsonvalue[0]['claimed'] is True, 1,
           "The claimed value is {}, expected true".format(jsonvalue[0]['claimed']))

    rpc.delete_target_node(name)
    output = rpc.get_target_nodes()
Loading