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.
crypto/internal.h | 1
drivers/block/rd.c | 20 ++++----
drivers/ide/ide-floppy.c | 8 +--
drivers/ide/ide-taskfile.c | 6 +-
drivers/md/raid1.c | 13 +++--
drivers/md/raid5.c | 9 ++-
drivers/md/raid6main.c | 9 ++-
drivers/scsi/3w-9xxx.c | 8 +--
drivers/scsi/3w-xxxx.c | 4 -
drivers/scsi/aacraid/aachba.c | 4 -
drivers/scsi/gdth.c | 5 +-
drivers/scsi/ide-scsi.c | 14 +++--
drivers/scsi/ips.c | 21 +++++---
drivers/scsi/iscsi_tcp.c | 4 -
drivers/scsi/libata-core.c | 24 ++++++---
drivers/scsi/libata-scsi.c | 6 +-
drivers/scsi/megaraid.c | 8 ++-
drivers/scsi/qlogicpti.c | 5 +-
drivers/scsi/scsi_debug.c | 11 ++--
drivers/scsi/scsi_lib.c | 5 +-
fs/bio.c | 5 --
include/linux/bio.h | 59 ------------------------
include/linux/blkdev.h | 101 +++++++++++++++++++++++++++++++++++++++++-
include/linux/highmem.h | 2
24 files changed, 213 insertions(+), 139 deletions(-)
Thanks.
--
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]