All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: axboe@suse.de, bzolnier@gmail.com, rmk@arm.linux.org.uk,
	james.steward@dynamicratings.com, jgarzik@pobox.com,
	James.Bottomley@SteelEye.com, linux-kernel@vger.kernel.org
Cc: Tejun Heo <htejun@gmail.com>
Subject: [PATCHSET] block: fix PIO cache coherency bug
Date: Sat, 14 Jan 2006 00:24:16 +0900	[thread overview]
Message-ID: <11371658562541-git-send-email-htejun@gmail.com> (raw)
In-Reply-To: 

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


             reply	other threads:[~2006-01-13 15:24 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-13 15:24 Tejun Heo [this message]
2006-01-13 15:24 ` [PATCH 5/8] block: convert libata to use blk_kmap helpers Tejun Heo
2006-01-13 15:24 ` [PATCH 1/8] highmem: include asm/kmap_types.h in linux/highmem.h Tejun Heo
2006-01-13 15:24 ` [PATCH 4/8] block: convert IDE to use blk_kmap helpers Tejun Heo
2006-02-14 19:07   ` Matt Reimer
2006-02-15  2:05     ` Tejun Heo
2006-02-16 18:01       ` Russell King
2006-02-16 18:10         ` Linus Torvalds
2006-02-16 19:02           ` Russell King
2006-01-13 15:24 ` [PATCH 2/8] block: implement blk kmap helpers Tejun Heo
2006-01-13 15:24 ` [PATCH 3/8] block: convert bio kmap helpers to use blk_kmap helpers Tejun Heo
2006-01-13 15:24 ` [PATCH 7/8] block: convert block/rd.c " Tejun Heo
2006-01-13 15:24 ` [PATCH 8/8] block: convert md " Tejun Heo
2006-01-13 15:24 ` [PATCH 6/8] block: convert scsi " Tejun Heo
2006-01-13 15:37 ` [PATCHSET] block: fix PIO cache coherency bug Jens Axboe
2006-01-13 15:47 ` Bartlomiej Zolnierkiewicz
2006-01-13 15:50 ` James Bottomley
2006-01-13 18:20   ` Russell King
2006-01-13 18:35     ` James Bottomley
2006-01-13 19:06       ` Russell King
2006-02-22  8:27         ` Tejun Heo
2006-03-02 18:46           ` James Bottomley
2006-03-02 20:30             ` Russell King
2006-03-02 20:43               ` James Bottomley
2006-03-02 20:57                 ` Russell King
2006-03-02 20:44               ` Jens Axboe
2006-05-29 19:17                 ` Nicolas Pitre
2006-05-30 11:19                   ` Tejun Heo
2006-05-30 21:07                     ` Guennadi Liakhovetski
2006-05-30 21:32                       ` Nicolas Pitre
2006-05-31  0:57                       ` David S. Miller
2006-03-02 20:40           ` Jens Axboe
2006-03-20 16:12           ` James Bottomley
2006-03-20 16:26             ` Tejun Heo
2006-03-20 16:33               ` James Bottomley
2006-03-20 16:40                 ` Tejun Heo
2006-03-20 16:48                   ` James Bottomley
2006-03-23 14:23               ` James Bottomley
2006-03-20 16:50             ` Randy.Dunlap
2006-03-20 16:52               ` James Bottomley
2006-01-13 22:02 ` Russell King
2006-01-13 22:38   ` James Bottomley
2006-01-13 22:43     ` David S. Miller
2006-01-14  4:58       ` James Bottomley
2006-01-17 15:00 ` Jeff Garzik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11371658562541-git-send-email-htejun@gmail.com \
    --to=htejun@gmail.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=axboe@suse.de \
    --cc=bzolnier@gmail.com \
    --cc=james.steward@dynamicratings.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.