From bb7fde4eb499e35fa8d42b21dd3965ab16f36437 Mon Sep 17 00:00:00 2001 From: claudio Date: Sat, 10 May 2014 11:28:02 +0000 Subject: [PATCH] Move the task cleanup from the task fail callback to taskq_cleanup. This makes the one failure callback a lot simpler. --- usr.sbin/iscsid/task.c | 8 +++----- usr.sbin/iscsid/vscsi.c | 9 +++------ 2 files changed, 6 insertions(+), 11 deletions(-) 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 -- 2.20.1