From: claudio Date: Sat, 10 May 2014 11:28:02 +0000 (+0000) Subject: Move the task cleanup from the task fail callback to taskq_cleanup. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=bb7fde4eb499e35fa8d42b21dd3965ab16f36437;p=openbsd Move the task cleanup from the task fail callback to taskq_cleanup. This makes the one failure callback a lot simpler. --- diff --git a/usr.sbin/iscsid/task.c b/usr.sbin/iscsid/task.c index 221cabd5ff1..4c12e21f222 100644 --- a/usr.sbin/iscsid/task.c +++ b/usr.sbin/iscsid/task.c @@ -1,4 +1,4 @@ -/* $OpenBSD: task.c,v 1.9 2011/04/28 18:32:01 claudio Exp $ */ +/* $OpenBSD: task.c,v 1.10 2014/05/10 11:28:02 claudio Exp $ */ /* * Copyright (c) 2009 Claudio Jeker @@ -65,10 +65,8 @@ taskq_cleanup(struct taskq *tq) TAILQ_REMOVE(tq, t, entry); if (t->failback) t->failback(t->callarg); - else { - conn_task_cleanup(NULL, t); - free(t); - } + conn_task_cleanup(NULL, t); + free(t); } } diff --git a/usr.sbin/iscsid/vscsi.c b/usr.sbin/iscsid/vscsi.c index 7878aa801d2..f42985869a5 100644 --- a/usr.sbin/iscsid/vscsi.c +++ b/usr.sbin/iscsid/vscsi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vscsi.c,v 1.13 2014/04/21 18:59:05 claudio Exp $ */ +/* $OpenBSD: vscsi.c,v 1.14 2014/05/10 11:28:02 claudio Exp $ */ /* * Copyright (c) 2009 Claudio Jeker @@ -288,12 +288,9 @@ void vscsi_fail(void *arg) { struct scsi_task *t = arg; - int tag; - conn_task_cleanup(NULL, &t->task); - tag = t->tag; - free(t); - vscsi_status(tag, VSCSI_STAT_RESET, NULL, 0); + log_debug("vscsi_fail: task failed, reseting it"); + vscsi_status(t->tag, VSCSI_STAT_RESET, NULL, 0); } void