[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