aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_transport_iscsi.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-13 22:25:38 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-13 22:25:38 -0500
commit0d522ee7499e4abe7189b2f1728e838959b8ddde (patch)
tree094f60e8bdb0083b58a43a0decbca59443a66e39 /drivers/scsi/scsi_transport_iscsi.c
parent5eea9be8b2478dbc2f9fb1cd6228a90e8dba804e (diff)
parent323f6226a816f0b01514d25fba5529e0e68636c3 (diff)
Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull first round of SCSI updates from James Bottomley: "This patch set is driver updates for qla4xxx, scsi_debug, pm80xx, fcoe/libfc, eas2r, lpfc, be2iscsi and megaraid_sas plus some assorted bug fixes and cleanups" * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (106 commits) [SCSI] scsi_error: Escalate to LUN reset if abort fails [SCSI] Add 'eh_deadline' to limit SCSI EH runtime [SCSI] remove check for 'resetting' [SCSI] dc395: Move 'last_reset' into internal host structure [SCSI] tmscsim: Move 'last_reset' into host structure [SCSI] advansys: Remove 'last_reset' references [SCSI] dpt_i2o: return SCSI_MLQUEUE_HOST_BUSY when in reset [SCSI] dpt_i2o: Remove DPTI_STATE_IOCTL [SCSI] megaraid_sas: Fix synchronization problem between sysPD IO path and AEN path [SCSI] lpfc: Fix typo on NULL assignment [SCSI] scsi_dh_alua: ALUA handler attach should succeed while TPG is transitioning [SCSI] scsi_dh_alua: ALUA check sense should retry device internal reset unit attention [SCSI] esas2r: Cleanup snprinf formatting of firmware version [SCSI] esas2r: Remove superfluous mask of pcie_cap_reg [SCSI] esas2r: Fixes for big-endian platforms [SCSI] esas2r: Directly call kernel functions for atomic bit operations [SCSI] lpfc 8.3.43: Update lpfc version to driver version 8.3.43 [SCSI] lpfc 8.3.43: Fixed not processing task management IOCB response status [SCSI] lpfc 8.3.43: Fixed spinlock hang. [SCSI] lpfc 8.3.43: Fixed invalid Total_Data_Placed value received for els and ct command responses ...
Diffstat (limited to 'drivers/scsi/scsi_transport_iscsi.c')
-rw-r--r--drivers/scsi/scsi_transport_iscsi.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index e4a989fa477d..63a6ca49d4e5 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -2744,6 +2744,28 @@ exit_get_chap:
2744 return err; 2744 return err;
2745} 2745}
2746 2746
2747static int iscsi_set_chap(struct iscsi_transport *transport,
2748 struct iscsi_uevent *ev, uint32_t len)
2749{
2750 char *data = (char *)ev + sizeof(*ev);
2751 struct Scsi_Host *shost;
2752 int err = 0;
2753
2754 if (!transport->set_chap)
2755 return -ENOSYS;
2756
2757 shost = scsi_host_lookup(ev->u.set_path.host_no);
2758 if (!shost) {
2759 pr_err("%s could not find host no %u\n",
2760 __func__, ev->u.set_path.host_no);
2761 return -ENODEV;
2762 }
2763
2764 err = transport->set_chap(shost, data, len);
2765 scsi_host_put(shost);
2766 return err;
2767}
2768
2747static int iscsi_delete_chap(struct iscsi_transport *transport, 2769static int iscsi_delete_chap(struct iscsi_transport *transport,
2748 struct iscsi_uevent *ev) 2770 struct iscsi_uevent *ev)
2749{ 2771{
@@ -3234,6 +3256,10 @@ iscsi_if_recv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, uint32_t *group)
3234 case ISCSI_UEVENT_LOGOUT_FLASHNODE_SID: 3256 case ISCSI_UEVENT_LOGOUT_FLASHNODE_SID:
3235 err = iscsi_logout_flashnode_sid(transport, ev); 3257 err = iscsi_logout_flashnode_sid(transport, ev);
3236 break; 3258 break;
3259 case ISCSI_UEVENT_SET_CHAP:
3260 err = iscsi_set_chap(transport, ev,
3261 nlmsg_attrlen(nlh, sizeof(*ev)));
3262 break;
3237 default: 3263 default:
3238 err = -ENOSYS; 3264 err = -ENOSYS;
3239 break; 3265 break;