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