summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordlg <dlg@openbsd.org>2011-04-28 11:24:36 +0000
committerdlg <dlg@openbsd.org>2011-04-28 11:24:36 +0000
commit6c51f94ee4d20fd2603e65110e2aea190a2fca1e (patch)
tree913b94e1fc177108234f9a0a3d4209b4a52988a0
parentclean up the path ops struct a bit. the path drivers init their xsh with (diff)
downloadwireguard-openbsd-6c51f94ee4d20fd2603e65110e2aea190a2fca1e.tar.xz
wireguard-openbsd-6c51f94ee4d20fd2603e65110e2aea190a2fca1e.zip
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@
-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);
}