lkml.org 
[lkml]   [2006]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Subject[PATCHSET] block: fix PIO cache coherency bug
    Date
    From
    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 majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-01-13 16:26    [W:4.036 / U:0.560 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site