summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/be2iscsi
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2011-07-25 14:48:42 -0400
committerJames Bottomley <JBottomley@Parallels.com>2011-08-27 10:36:03 -0400
commit3128c6c73cdf3df92c3165bfb785ae50114d18bf (patch)
tree49af7993064b0140bda96c795a47fa336525d02c /drivers/scsi/be2iscsi
parented1086e041b4870313dd0c0755f4bbc3b62d0d08 (diff)
[SCSI] iscsi cls: sysfs group is_visible callout for conn attrs
The iscsi class currently does not support writable sysfs attrs for LLD sysfs settings. This patch converts the iscsi class and drivers to use the attribute container sysfs group and the sysfs group's is_visible callout to be able to support readable or writable sysfs attrs. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/be2iscsi')
-rw-r--r--drivers/scsi/be2iscsi/be_iscsi.c25
-rw-r--r--drivers/scsi/be2iscsi/be_iscsi.h2
-rw-r--r--drivers/scsi/be2iscsi/be_main.c12
3 files changed, 29 insertions, 10 deletions
diff --git a/drivers/scsi/be2iscsi/be_iscsi.c b/drivers/scsi/be2iscsi/be_iscsi.c
index 3cad10605023..87b7ae1ef488 100644
--- a/drivers/scsi/be2iscsi/be_iscsi.c
+++ b/drivers/scsi/be2iscsi/be_iscsi.c
@@ -733,3 +733,28 @@ void beiscsi_ep_disconnect(struct iscsi_endpoint *ep)
733 beiscsi_unbind_conn_to_cid(phba, beiscsi_ep->ep_cid); 733 beiscsi_unbind_conn_to_cid(phba, beiscsi_ep->ep_cid);
734 iscsi_destroy_endpoint(beiscsi_ep->openiscsi_ep); 734 iscsi_destroy_endpoint(beiscsi_ep->openiscsi_ep);
735} 735}
736
737mode_t be2iscsi_attr_is_visible(int param_type, int param)
738{
739 switch (param_type) {
740 case ISCSI_PARAM:
741 switch (param) {
742 case ISCSI_PARAM_MAX_RECV_DLENGTH:
743 case ISCSI_PARAM_MAX_XMIT_DLENGTH:
744 case ISCSI_PARAM_HDRDGST_EN:
745 case ISCSI_PARAM_DATADGST_EN:
746 case ISCSI_PARAM_CONN_ADDRESS:
747 case ISCSI_PARAM_CONN_PORT:
748 case ISCSI_PARAM_EXP_STATSN:
749 case ISCSI_PARAM_PERSISTENT_ADDRESS:
750 case ISCSI_PARAM_PERSISTENT_PORT:
751 case ISCSI_PARAM_PING_TMO:
752 case ISCSI_PARAM_RECV_TMO:
753 return S_IRUGO;
754 default:
755 return 0;
756 }
757 }
758
759 return 0;
760}
diff --git a/drivers/scsi/be2iscsi/be_iscsi.h b/drivers/scsi/be2iscsi/be_iscsi.h
index ff60b7fd92d6..4a1f2e393f31 100644
--- a/drivers/scsi/be2iscsi/be_iscsi.h
+++ b/drivers/scsi/be2iscsi/be_iscsi.h
@@ -26,6 +26,8 @@
26#define BE2_IPV4 0x1 26#define BE2_IPV4 0x1
27#define BE2_IPV6 0x10 27#define BE2_IPV6 0x10
28 28
29mode_t be2iscsi_attr_is_visible(int param_type, int param);
30
29void beiscsi_offload_connection(struct beiscsi_conn *beiscsi_conn, 31void beiscsi_offload_connection(struct beiscsi_conn *beiscsi_conn,
30 struct beiscsi_offload_params *params); 32 struct beiscsi_offload_params *params);
31 33
diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
index 0a9bdfa3d939..d2a3e4a4d024 100644
--- a/drivers/scsi/be2iscsi/be_main.c
+++ b/drivers/scsi/be2iscsi/be_main.c
@@ -4364,10 +4364,7 @@ struct iscsi_transport beiscsi_iscsi_transport = {
4364 .name = DRV_NAME, 4364 .name = DRV_NAME,
4365 .caps = CAP_RECOVERY_L0 | CAP_HDRDGST | CAP_TEXT_NEGO | 4365 .caps = CAP_RECOVERY_L0 | CAP_HDRDGST | CAP_TEXT_NEGO |
4366 CAP_MULTI_R2T | CAP_DATADGST | CAP_DATA_PATH_OFFLOAD, 4366 CAP_MULTI_R2T | CAP_DATADGST | CAP_DATA_PATH_OFFLOAD,
4367 .param_mask = ISCSI_MAX_RECV_DLENGTH | 4367 .param_mask =
4368 ISCSI_MAX_XMIT_DLENGTH |
4369 ISCSI_HDRDGST_EN |
4370 ISCSI_DATADGST_EN |
4371 ISCSI_INITIAL_R2T_EN | 4368 ISCSI_INITIAL_R2T_EN |
4372 ISCSI_MAX_R2T | 4369 ISCSI_MAX_R2T |
4373 ISCSI_IMM_DATA_EN | 4370 ISCSI_IMM_DATA_EN |
@@ -4376,17 +4373,11 @@ struct iscsi_transport beiscsi_iscsi_transport = {
4376 ISCSI_PDU_INORDER_EN | 4373 ISCSI_PDU_INORDER_EN |
4377 ISCSI_DATASEQ_INORDER_EN | 4374 ISCSI_DATASEQ_INORDER_EN |
4378 ISCSI_ERL | 4375 ISCSI_ERL |
4379 ISCSI_CONN_PORT |
4380 ISCSI_CONN_ADDRESS |
4381 ISCSI_EXP_STATSN |
4382 ISCSI_PERSISTENT_PORT |
4383 ISCSI_PERSISTENT_ADDRESS |
4384 ISCSI_TARGET_NAME | ISCSI_TPGT | 4376 ISCSI_TARGET_NAME | ISCSI_TPGT |
4385 ISCSI_USERNAME | ISCSI_PASSWORD | 4377 ISCSI_USERNAME | ISCSI_PASSWORD |
4386 ISCSI_USERNAME_IN | ISCSI_PASSWORD_IN | 4378 ISCSI_USERNAME_IN | ISCSI_PASSWORD_IN |
4387 ISCSI_FAST_ABORT | ISCSI_ABORT_TMO | 4379 ISCSI_FAST_ABORT | ISCSI_ABORT_TMO |
4388 ISCSI_LU_RESET_TMO | 4380 ISCSI_LU_RESET_TMO |
4389 ISCSI_PING_TMO | ISCSI_RECV_TMO |
4390 ISCSI_IFACE_NAME | ISCSI_INITIATOR_NAME, 4381 ISCSI_IFACE_NAME | ISCSI_INITIATOR_NAME,
4391 .host_param_mask = ISCSI_HOST_HWADDRESS | ISCSI_HOST_IPADDRESS | 4382 .host_param_mask = ISCSI_HOST_HWADDRESS | ISCSI_HOST_IPADDRESS |
4392 ISCSI_HOST_INITIATOR_NAME, 4383 ISCSI_HOST_INITIATOR_NAME,
@@ -4395,6 +4386,7 @@ struct iscsi_transport beiscsi_iscsi_transport = {
4395 .create_conn = beiscsi_conn_create, 4386 .create_conn = beiscsi_conn_create,
4396 .bind_conn = beiscsi_conn_bind, 4387 .bind_conn = beiscsi_conn_bind,
4397 .destroy_conn = iscsi_conn_teardown, 4388 .destroy_conn = iscsi_conn_teardown,
4389 .attr_is_visible = be2iscsi_attr_is_visible,
4398 .set_param = beiscsi_set_param, 4390 .set_param = beiscsi_set_param,
4399 .get_conn_param = iscsi_conn_get_param, 4391 .get_conn_param = iscsi_conn_get_param,
4400 .get_session_param = iscsi_session_get_param, 4392 .get_session_param = iscsi_session_get_param,