summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorJack Meng <Jack.Meng@Sun.COM>2009-05-23 14:31:05 +0800
committerJack Meng <Jack.Meng@Sun.COM>2009-05-23 14:31:05 +0800
commit169c6dc41c606ed05ea28b904d8c46238686b206 (patch)
treec64b9df8ece820c558e22580e55d7d0aa0b78bee /usr/src
parent636423db672c14451a65835f534789270ebd4dc9 (diff)
downloadillumos-gate-169c6dc41c606ed05ea28b904d8c46238686b206.tar.gz
6840554 Boot session shouldn't be reconfigured if MPxIO is not enabled
6842584 set the default status of iscsi initiator service to enabled in case of iscsi boot
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/scsi/adapters/iscsi/iscsi.c8
-rw-r--r--usr/src/uts/common/io/scsi/adapters/iscsi/iscsid.c12
2 files changed, 14 insertions, 6 deletions
diff --git a/usr/src/uts/common/io/scsi/adapters/iscsi/iscsi.c b/usr/src/uts/common/io/scsi/adapters/iscsi/iscsi.c
index 3a2214148e..47a0fe7ea2 100644
--- a/usr/src/uts/common/io/scsi/adapters/iscsi/iscsi.c
+++ b/usr/src/uts/common/io/scsi/adapters/iscsi/iscsi.c
@@ -425,7 +425,13 @@ iscsi_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
ihp->hba_sig = ISCSI_SIG_HBA;
ihp->hba_tran = tran;
ihp->hba_dip = dip;
- ihp->hba_service_status = ISCSI_SERVICE_DISABLED;
+ if (iscsiboot_prop == NULL) {
+ ihp->hba_service_status =
+ ISCSI_SERVICE_DISABLED;
+ } else {
+ ihp->hba_service_status =
+ ISCSI_SERVICE_ENABLED;
+ }
ihp->hba_service_client_count = 0;
mutex_enter(&iscsi_oid_mutex);
diff --git a/usr/src/uts/common/io/scsi/adapters/iscsi/iscsid.c b/usr/src/uts/common/io/scsi/adapters/iscsi/iscsid.c
index 86f739c919..d928a398ac 100644
--- a/usr/src/uts/common/io/scsi/adapters/iscsi/iscsid.c
+++ b/usr/src/uts/common/io/scsi/adapters/iscsi/iscsid.c
@@ -2315,11 +2315,13 @@ iscsid_thread_boot_wd(iscsi_thread_t *thread, void *p)
}
if ((ihp->hba_persistent_loaded == B_TRUE) &&
(reconfigured == B_FALSE)) {
- (void) iscsi_reconfig_boot_sess(ihp);
- iscsid_poke_discovery(ihp,
- iSCSIDiscoveryMethodUnknown);
- (void) iscsid_login_tgt(ihp, NULL,
- iSCSIDiscoveryMethodUnknown, NULL);
+ if (iscsi_chk_bootlun_mpxio(ihp) == B_TRUE) {
+ (void) iscsi_reconfig_boot_sess(ihp);
+ iscsid_poke_discovery(ihp,
+ iSCSIDiscoveryMethodUnknown);
+ (void) iscsid_login_tgt(ihp, NULL,
+ iSCSIDiscoveryMethodUnknown, NULL);
+ }
reconfigured = B_TRUE;
}
break;