summaryrefslogtreecommitdiff
path: root/sys/dev/vscsi.c
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2011-04-28 11:24:37 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2011-04-28 11:24:37 +0000
commit8fbde66430aa8b0773d3387e5e56968cd07a3156 (patch)
treedeb2f49f8b6f14b5dc9a11332e85536466ae25bb /sys/dev/vscsi.c
parent3d756ed7171d072143df220fbd6ff113251854b0 (diff)
report XS_RESET to the midlayer for any pending commands when vscsi is
closed. if you're using iscsid with mpath, this will let mpath retry the commands when iscsid comes back. discussed with claudio@
Diffstat (limited to 'sys/dev/vscsi.c')
-rw-r--r--sys/dev/vscsi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/vscsi.c b/sys/dev/vscsi.c
index 30fa71931cf..15ad5d1576c 100644
--- a/sys/dev/vscsi.c
+++ b/sys/dev/vscsi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vscsi.c,v 1.22 2011/04/05 15:28:49 dlg Exp $ */
+/* $OpenBSD: vscsi.c,v 1.23 2011/04/28 11:24:36 dlg Exp $ */
/*
* Copyright (c) 2008 David Gwynne <dlg@openbsd.org>
@@ -557,13 +557,13 @@ vscsiclose(dev_t dev, int flags, int mode, struct proc *p)
while ((ccb = TAILQ_FIRST(&sc->sc_ccb_t2i)) != NULL) {
TAILQ_REMOVE(&sc->sc_ccb_t2i, ccb, ccb_entry);
- ccb->ccb_xs->error = XS_DRIVER_STUFFUP;
+ ccb->ccb_xs->error = XS_RESET;
vscsi_done(sc, ccb);
}
while ((ccb = TAILQ_FIRST(&sc->sc_ccb_i2t)) != NULL) {
TAILQ_REMOVE(&sc->sc_ccb_i2t, ccb, ccb_entry);
- ccb->ccb_xs->error = XS_DRIVER_STUFFUP;
+ ccb->ccb_xs->error = XS_RESET;
vscsi_done(sc, ccb);
}