aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libiscsi.c
diff options
context:
space:
mode:
authorEddie Wai <eddie.wai@broadcom.com>2013-06-20 13:21:26 -0400
committerJames Bottomley <JBottomley@Parallels.com>2013-06-26 21:04:11 -0400
commit3b9373e95a6019cf89abe6c8b17c07828db96ad4 (patch)
treee3d97d87fb7c960b0da5e67acb74cf2c5470a420 /drivers/scsi/libiscsi.c
parentc5bebd829dd95602c15f8da8cc50fa938b5e0254 (diff)
[SCSI] libiscsi: Added new boot entries in the session sysfs
This is the kernel part of the modification to extract the net params from the ibft sysfs to the iface struct used for the connection request upon sync_session in the open-iscsi util. Three new session sysfs params are defined: boot_root - holds the name of the /sys/firmware/ibft or iscsi_rootN boot_nic - holds the ethernetN name boot_target - holds the targetN name Signed-off-by: Eddie Wai <eddie.wai@broadcom.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/libiscsi.c')
-rw-r--r--drivers/scsi/libiscsi.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 5de946984500..ae69dfcc7834 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -2808,6 +2808,9 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
2808 kfree(session->targetname); 2808 kfree(session->targetname);
2809 kfree(session->targetalias); 2809 kfree(session->targetalias);
2810 kfree(session->initiatorname); 2810 kfree(session->initiatorname);
2811 kfree(session->boot_root);
2812 kfree(session->boot_nic);
2813 kfree(session->boot_target);
2811 kfree(session->ifacename); 2814 kfree(session->ifacename);
2812 2815
2813 iscsi_destroy_session(cls_session); 2816 iscsi_destroy_session(cls_session);
@@ -3248,6 +3251,12 @@ int iscsi_set_param(struct iscsi_cls_conn *cls_conn,
3248 return iscsi_switch_str_param(&session->ifacename, buf); 3251 return iscsi_switch_str_param(&session->ifacename, buf);
3249 case ISCSI_PARAM_INITIATOR_NAME: 3252 case ISCSI_PARAM_INITIATOR_NAME:
3250 return iscsi_switch_str_param(&session->initiatorname, buf); 3253 return iscsi_switch_str_param(&session->initiatorname, buf);
3254 case ISCSI_PARAM_BOOT_ROOT:
3255 return iscsi_switch_str_param(&session->boot_root, buf);
3256 case ISCSI_PARAM_BOOT_NIC:
3257 return iscsi_switch_str_param(&session->boot_nic, buf);
3258 case ISCSI_PARAM_BOOT_TARGET:
3259 return iscsi_switch_str_param(&session->boot_target, buf);
3251 default: 3260 default:
3252 return -ENOSYS; 3261 return -ENOSYS;
3253 } 3262 }
@@ -3326,6 +3335,15 @@ int iscsi_session_get_param(struct iscsi_cls_session *cls_session,
3326 case ISCSI_PARAM_INITIATOR_NAME: 3335 case ISCSI_PARAM_INITIATOR_NAME:
3327 len = sprintf(buf, "%s\n", session->initiatorname); 3336 len = sprintf(buf, "%s\n", session->initiatorname);
3328 break; 3337 break;
3338 case ISCSI_PARAM_BOOT_ROOT:
3339 len = sprintf(buf, "%s\n", session->boot_root);
3340 break;
3341 case ISCSI_PARAM_BOOT_NIC:
3342 len = sprintf(buf, "%s\n", session->boot_nic);
3343 break;
3344 case ISCSI_PARAM_BOOT_TARGET:
3345 len = sprintf(buf, "%s\n", session->boot_target);
3346 break;
3329 default: 3347 default:
3330 return -ENOSYS; 3348 return -ENOSYS;
3331 } 3349 }