[stgt] tgtd stuck in infinite loop
Elliot Peele
elliot at rpath.com
Thu Feb 18 21:28:53 CET 2010
I am running tgt 1.0.1, serving four iSCSI targets to an ESX 4i cluster.
I have seen the daemon get into an infinite loop a couple of times and stop responding to any requests. From the looks of it in iscsi_data_out_rx_start the cmd_list ends up looping back on itself.
(gdb) l -
1478 static int iscsi_data_out_rx_start(struct iscsi_connection *conn)
1479 {
1480 struct iscsi_task *task;
1481 struct iscsi_data *req = (struct iscsi_data *) &conn->req.bhs;
1482
1483 list_for_each_entry(task, &conn->session->cmd_list, c_hlist) {
1484 if (task->tag == req->itt)
1485 goto found;
1486 }
1487 return -EINVAL;
(gdb) p conn->session->cmd_list->next
$9 = (struct list_head *) 0x785330
(gdb) p &conn->session->cmd_list->next
$10 = (struct list_head **) 0x690fb8
(gdb) p &conn->session->cmd_list->next->next
$11 = (struct list_head **) 0x785330
Has anyone seen this behavior before? Is there anymore information that I can provide?
Thanks,
Elliot
--
Elliot Peele
rPath, Inc.
elliot at rpath.com
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list