From: Sebastian Andrzej Siewior Date: Sun, 21 Mar 2010 21:52:23 +0000 (+0100) Subject: libata: don't flush dcache on slab pages X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=3842e835490cdf17013b30a788f6311bdcfd0571;p=deliverable%2Flinux.git libata: don't flush dcache on slab pages page_mapping() check this via VM_BUG_ON(PageSlab(page)) so we bug here with the according debuging turned on. Future TODO: replace this with a flush_dcache_page_for_pio() API Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Jeff Garzik Cc: stable@kernel.org --- diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index b7f7f8557fee..c0a905438896 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c @@ -919,7 +919,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) do_write); } - if (!do_write) + if (!do_write && !PageSlab(page)) flush_dcache_page(page); qc->curbytes += qc->sect_size;