[patch] MFI should set bio_resid on command failure

Sean Bruno seanbru at yahoo-inc.com
Wed Jul 11 19:17:16 UTC 2012


> >>  >> When an MFI command fails, the driver needs to set 
> > bio->bio_resid so that the upper levels notice.  Otherwise we see commands 
> > silently failing leading to data corruption.  This mirrors dadone().
> >>  >> 
> >>  >> -Andrew
> >>  >> 
> >>  >> Index: sys/dev/mfi/mfi_disk.c
> >>  >> 
> > ===================================================================
> >>  >> --- sys/dev/mfi/mfi_disk.c    (revision 238071)
> >>  >> +++ sys/dev/mfi/mfi_disk.c    (working copy)
> >>  >> @@ -298,6 +298,7 @@
> >>  >>     hdr = bio->bio_driver1;
> >>  >> 
> >>  >>     if (bio->bio_flags & BIO_ERROR) {
> >>  >> +        bio->bio_resid = bio->bio_bcount;
> >>  >>         if (bio->bio_error == 0)
> >>  >>             bio->bio_error = EIO;
> >>  >>         disk_err(bio, "hard error", -1, 1);
> >>  >> 
> >>  >> --------------------------------------------------
> >>  >> Andrew Boyer    aboyer at averesystems.com

Committed at svn r238371

Sean



More information about the freebsd-scsi mailing list