summaryrefslogtreecommitdiff
path: root/sys/scsi
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2011-04-27 05:22:25 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2011-04-27 05:22:25 +0000
commitaa9dbe52c26b5b79038c7a43e3ac3cdbb5b0493b (patch)
treeb0dc3a2adfb16b93fb227e6ee3369a08de7c1d73 /sys/scsi
parent252f3009774c855177f0d7e7548768d21e762266 (diff)
if a path returns XS_SELTIMEOUT, retry the io down another path like we
do for XS_RESET. adapters return SELTIMEOUT when the device is gone.
Diffstat (limited to 'sys/scsi')
-rw-r--r--sys/scsi/mpath.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/scsi/mpath.c b/sys/scsi/mpath.c
index 86f379c45a5..f48df0bd1e7 100644
--- a/sys/scsi/mpath.c
+++ b/sys/scsi/mpath.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpath.c,v 1.20 2011/04/17 23:18:01 dlg Exp $ */
+/* $OpenBSD: mpath.c,v 1.21 2011/04/27 05:22:24 dlg Exp $ */
/*
* Copyright (c) 2009 David Gwynne <dlg@openbsd.org>
@@ -295,7 +295,7 @@ mpath_done(struct scsi_xfer *mxs)
struct mpath_dev *d = mpath_devs[link->target];
struct mpath_path *p;
- if (mxs->error == XS_RESET) {
+ if (mxs->error == XS_RESET || mxs->error == XS_SELTIMEOUT) {
mtx_enter(&d->d_mtx);
SIMPLEQ_INSERT_HEAD(&d->d_ccbs, ccb, c_entry);
p = mpath_next_path(d);