Hello, all.
This patchset tries to fix data corruption bug caused by not handling
cache coherency during block PIO. This patch implements
blk_kmap/unmap helpers which take extra @dir argument and perform
appropriate coherency actions. These are to block PIO what dma_map/
unmap are to block DMA transfers.
IDE, libata, SCSI, rd and md are converted. Still left are nbd, loop
and pktcddvd. If I missed something, please let me know.
Russell, can you please test whether this fixes the bug on arm? If
this fixes the bug and people agree with the approach, I'll follow up
with patches for yet unconverted drivers and documentation update.