[stgt] tgtd stuck in infinite loop
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Fri Feb 19 04:33:43 CET 2010
On Thu, 18 Feb 2010 15:28:53 -0500
Elliot Peele <elliot at rpath.com> wrote:
> 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
Hmm, I have no idea how the list is corrupted. I need to dig into the
code.
> Has anyone seen this behavior before? Is there anymore information that I can provide?
I've not seen any reports that might be related with this.
Is there an easy way to reproduce this? Are there any notable events
such as aborting tasks, disconnection, etc before hitting this?
--
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