On a related hardware note: FWIW, most ATA controllers have scatter/gather tables that terminate themselves by a bit in the final s/g entry. The 90% case needs to know the last scatterlist entry, at the end of the s/g walk. So however this all gets worked out, please make sure not to unduly punish libata controllers with an expensive sg_last() inside a loop, or something like that. :) Jeff -
