summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-10-26 15:53:59 +0900
committerJeff Garzik <jeff@garzik.org>2007-10-30 09:59:42 -0400
commitb666da35d900c26cbea1caa465649e2e0afa406c (patch)
treec1636d741569fd9fcf39557e36210226e9d5d860
parent5595ddf98cb3bf2c18b3b96587a1a9b0b08c267a (diff)
downloadlinux-b666da35d900c26cbea1caa465649e2e0afa406c.tar.gz
linux-b666da35d900c26cbea1caa465649e2e0afa406c.tar.bz2
linux-b666da35d900c26cbea1caa465649e2e0afa406c.zip
libata: flush is an IO command
ATA_QCFLAG_IO is used to mark commands which are used to perform regluar IO transfers via block layer. These commands are assumed to be valid and taken more seriously during error handling. Cache flush is used by regular IO path and necessary for data integrity. Mark it with ATA_QCFLAG_IO. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/ata/libata-scsi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 93bd36c19690..6ef5ecb917ce 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -1108,6 +1108,9 @@ static unsigned int ata_scsi_flush_xlat(struct ata_queued_cmd *qc)
else
tf->command = ATA_CMD_FLUSH;
+ /* flush is critical for IO integrity, consider it an IO command */
+ qc->flags |= ATA_QCFLAG_IO;
+
return 0;
}