goggin, edward wrote:
Mike,
Can't dec_pending now see different error values for the
possibly multiple bio clones of a single original bio?
Yep.
How should it decide which error gets propagated up to
the original bio?
Have no idea really. We have this problem if the bio gets partially
completed with different errors for different parts too. I think this
can happen in SCSI if the front were to get a medium error.
Looks like the old code and your new code just take the error
value from the last completed bio which has an error. While
this was probably OK when the only error value was -ENXIO, we
may now need some logic in dec_pending to decide which error
value has more significance.
Yeah all of that was on the TODO under my comment:
Some temporary crap I will fix is the dec_pending fucntions.