summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorct35888 <none@none>2008-06-21 11:31:56 -0700
committerct35888 <none@none>2008-06-21 11:31:56 -0700
commit6e168b7fd0e87ddf9344458382d5fd574deac5e6 (patch)
tree722f3fdd233478a51c7ff3dc02b58348ebfa3206 /usr/src
parent92a824aa2155223ce6981163888a4eac0f0b2420 (diff)
downloadillumos-joyent-6e168b7fd0e87ddf9344458382d5fd574deac5e6.tar.gz
6683288 iscsitgtd crashes when performing discovery while sharing a ZFS filesystem
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/iscsi/iscsitgtd/main.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/usr/src/cmd/iscsi/iscsitgtd/main.c b/usr/src/cmd/iscsi/iscsitgtd/main.c
index 1fe7169075..b5f2a1dd45 100644
--- a/usr/src/cmd/iscsi/iscsitgtd/main.c
+++ b/usr/src/cmd/iscsi/iscsitgtd/main.c
@@ -294,9 +294,12 @@ logout_targ(char *targ)
(void) pthread_mutex_lock(&port_mutex);
for (conn = conn_head; conn; conn = conn->c_next) {
- if ((conn->c_state == S5_LOGGED_IN) &&
- (strcmp(conn->c_sess->s_t_name, targ) == 0)) {
+ if (conn->c_state != S5_LOGGED_IN)
+ continue;
+ if (conn->c_sess->s_type == SessionDiscovery)
+ continue;
+ if (strcmp(conn->c_sess->s_t_name, targ) == 0) {
queue_message_set(conn->c_dataq, 0, msg_mgmt_rqst, &m);
msg_sent++;
}