diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2011-04-28 11:24:37 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2011-04-28 11:24:37 +0000 |
commit | 8fbde66430aa8b0773d3387e5e56968cd07a3156 (patch) | |
tree | deb2f49f8b6f14b5dc9a11332e85536466ae25bb /sys/dev/vscsi.c | |
parent | 3d756ed7171d072143df220fbd6ff113251854b0 (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.c | 6 |
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); } |