diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2011-04-27 05:22:25 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2011-04-27 05:22:25 +0000 |
commit | aa9dbe52c26b5b79038c7a43e3ac3cdbb5b0493b (patch) | |
tree | b0dc3a2adfb16b93fb227e6ee3369a08de7c1d73 /sys | |
parent | 252f3009774c855177f0d7e7548768d21e762266 (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')
-rw-r--r-- | sys/scsi/mpath.c | 4 |
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); |