[SCSI] libiscsi, iscsi_tcp, ib_iser : add sw iscsi host get/set params helpers
iscsid and udev need to key off the hw address being used so add some helpers for iser and iscsi tcp. Also convert them Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Cc: Roland Dreier <rdreier@cisco.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
committed by
James Bottomley
parent
1d9bf13a9c
commit
0801c242a3
@ -1462,6 +1462,7 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
|
||||
iscsi_pool_free(&session->cmdpool, (void**)session->cmds);
|
||||
|
||||
kfree(session->targetname);
|
||||
kfree(session->hwaddress);
|
||||
|
||||
iscsi_destroy_session(cls_session);
|
||||
scsi_host_put(shost);
|
||||
@ -1990,6 +1991,45 @@ int iscsi_conn_get_param(struct iscsi_cls_conn *cls_conn,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iscsi_conn_get_param);
|
||||
|
||||
int iscsi_host_get_param(struct Scsi_Host *shost, enum iscsi_host_param param,
|
||||
char *buf)
|
||||
{
|
||||
struct iscsi_session *session = iscsi_hostdata(shost->hostdata);
|
||||
int len;
|
||||
|
||||
switch (param) {
|
||||
case ISCSI_HOST_PARAM_HWADDRESS:
|
||||
if (!session->hwaddress)
|
||||
len = sprintf(buf, "%s\n", "default");
|
||||
else
|
||||
len = sprintf(buf, "%s\n", session->hwaddress);
|
||||
break;
|
||||
default:
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
return len;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iscsi_host_get_param);
|
||||
|
||||
int iscsi_host_set_param(struct Scsi_Host *shost, enum iscsi_host_param param,
|
||||
char *buf, int buflen)
|
||||
{
|
||||
struct iscsi_session *session = iscsi_hostdata(shost->hostdata);
|
||||
|
||||
switch (param) {
|
||||
case ISCSI_HOST_PARAM_HWADDRESS:
|
||||
if (!session->hwaddress)
|
||||
session->hwaddress = kstrdup(buf, GFP_KERNEL);
|
||||
break;
|
||||
default:
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iscsi_host_set_param);
|
||||
|
||||
MODULE_AUTHOR("Mike Christie");
|
||||
MODULE_DESCRIPTION("iSCSI library functions");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
Reference in New Issue
Block a user