git: xdisk - Fix improper EIO
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Mar 9 00:41:00 PDT 2015
commit 5dafdfbab36647ae8d1630acfbb14873721b4f2a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Mar 9 00:36:18 2015 -0700
xdisk - Fix improper EIO
* Fix an issue when xa_strategy() is called when no spans are valid,
but before open_tag could be terminated. This improperly caused the
BIO to fail.
If the BIO is not flagged to allow failures, place the BIO on sc->bioq
when this situation occurs instead of causing it to fail. The BIO will
be requeued when a new span becomes valid.
* With this change a hammer2 mount on a xdisk appears to survive multiple
communications failures without error (i.e. killing the hammer2 service
demon either box, then restarting it).
* Fix a locking panic.
Summary of changes:
sys/dev/disk/xdisk/xdisk.c | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5dafdfbab36647ae8d1630acfbb14873721b4f2a
--
DragonFly BSD source repository
More information about the Commits
mailing list