aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libsas/sas_scsi_host.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-10-22 20:07:18 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-22 20:07:18 -0400
commita2887097f25cd38cadfc11d10769e2b349fb5eca (patch)
treecd4adcb305365d6ba9acd2c02d4eb9d0125c6f8d /drivers/scsi/libsas/sas_scsi_host.c
parent8abfc6e7a45eb74e51904bbae676fae008b11366 (diff)
parent005a1d15f5a6b2bb4ada80349513effbf22b4588 (diff)
Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block: (46 commits) xen-blkfront: disable barrier/flush write support Added blk-lib.c and blk-barrier.c was renamed to blk-flush.c block: remove BLKDEV_IFL_WAIT aic7xxx_old: removed unused 'req' variable block: remove the BH_Eopnotsupp flag block: remove the BLKDEV_IFL_BARRIER flag block: remove the WRITE_BARRIER flag swap: do not send discards as barriers fat: do not send discards as barriers ext4: do not send discards as barriers jbd2: replace barriers with explicit flush / FUA usage jbd2: Modify ASYNC_COMMIT code to not rely on queue draining on barrier jbd: replace barriers with explicit flush / FUA usage nilfs2: replace barriers with explicit flush / FUA usage reiserfs: replace barriers with explicit flush / FUA usage gfs2: replace barriers with explicit flush / FUA usage btrfs: replace barriers with explicit flush / FUA usage xfs: replace barriers with explicit flush / FUA usage block: pass gfp_mask and flags to sb_issue_discard dm: convey that all flushes are processed as empty ...
Diffstat (limited to 'drivers/scsi/libsas/sas_scsi_host.c')
-rw-r--r--drivers/scsi/libsas/sas_scsi_host.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c
index f0cfba9a1fc..535085cd27e 100644
--- a/drivers/scsi/libsas/sas_scsi_host.c
+++ b/drivers/scsi/libsas/sas_scsi_host.c
@@ -130,17 +130,6 @@ static void sas_scsi_task_done(struct sas_task *task)
130 sc->scsi_done(sc); 130 sc->scsi_done(sc);
131} 131}
132 132
133static enum task_attribute sas_scsi_get_task_attr(struct scsi_cmnd *cmd)
134{
135 enum task_attribute ta = TASK_ATTR_SIMPLE;
136 if (cmd->request && blk_rq_tagged(cmd->request)) {
137 if (cmd->device->ordered_tags &&
138 (cmd->request->cmd_flags & REQ_HARDBARRIER))
139 ta = TASK_ATTR_ORDERED;
140 }
141 return ta;
142}
143
144static struct sas_task *sas_create_task(struct scsi_cmnd *cmd, 133static struct sas_task *sas_create_task(struct scsi_cmnd *cmd,
145 struct domain_device *dev, 134 struct domain_device *dev,
146 gfp_t gfp_flags) 135 gfp_t gfp_flags)
@@ -160,7 +149,7 @@ static struct sas_task *sas_create_task(struct scsi_cmnd *cmd,
160 task->ssp_task.retry_count = 1; 149 task->ssp_task.retry_count = 1;
161 int_to_scsilun(cmd->device->lun, &lun); 150 int_to_scsilun(cmd->device->lun, &lun);
162 memcpy(task->ssp_task.LUN, &lun.scsi_lun, 8); 151 memcpy(task->ssp_task.LUN, &lun.scsi_lun, 8);
163 task->ssp_task.task_attr = sas_scsi_get_task_attr(cmd); 152 task->ssp_task.task_attr = TASK_ATTR_SIMPLE;
164 memcpy(task->ssp_task.cdb, cmd->cmnd, 16); 153 memcpy(task->ssp_task.cdb, cmd->cmnd, 16);
165 154
166 task->scatter = scsi_sglist(cmd); 155 task->scatter = scsi_sglist(cmd);