aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target/target_core_file.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2012-04-23 11:35:31 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2012-05-06 18:03:41 -0400
commit7a83aa4e7b26ba61b9dc98d5c0bf725f4df0043f (patch)
treedc2c7e29f7850e238e5f752aaeb4bbaa8dd69f94 /drivers/target/target_core_file.c
parent72a0e5e2e2e6b577343c79013611ad5701e94482 (diff)
target: remove the task_size field in struct se_task
Now that we don't split commands the size field in the task is always equivalent to the one in the CDB, even in cases where we have two tasks due to a BIDI transfer. Just refer the the size in the command instead of duplicating it in the task. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_file.c')
-rw-r--r--drivers/target/target_core_file.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/target/target_core_file.c b/drivers/target/target_core_file.c
index 4343cfd6811..6667039250c 100644
--- a/drivers/target/target_core_file.c
+++ b/drivers/target/target_core_file.c
@@ -300,10 +300,10 @@ static int fd_do_readv(struct se_task *task)
300 * block_device. 300 * block_device.
301 */ 301 */
302 if (S_ISBLK(fd->f_dentry->d_inode->i_mode)) { 302 if (S_ISBLK(fd->f_dentry->d_inode->i_mode)) {
303 if (ret < 0 || ret != task->task_size) { 303 if (ret < 0 || ret != task->task_se_cmd->data_length) {
304 pr_err("vfs_readv() returned %d," 304 pr_err("vfs_readv() returned %d,"
305 " expecting %d for S_ISBLK\n", ret, 305 " expecting %d for S_ISBLK\n", ret,
306 (int)task->task_size); 306 (int)task->task_se_cmd->data_length);
307 return (ret < 0 ? ret : -EINVAL); 307 return (ret < 0 ? ret : -EINVAL);
308 } 308 }
309 } else { 309 } else {
@@ -348,7 +348,7 @@ static int fd_do_writev(struct se_task *task)
348 348
349 kfree(iov); 349 kfree(iov);
350 350
351 if (ret < 0 || ret != task->task_size) { 351 if (ret < 0 || ret != task->task_se_cmd->data_length) {
352 pr_err("vfs_writev() returned %d\n", ret); 352 pr_err("vfs_writev() returned %d\n", ret);
353 return (ret < 0 ? ret : -EINVAL); 353 return (ret < 0 ? ret : -EINVAL);
354 } 354 }
@@ -404,11 +404,12 @@ static void fd_emulate_write_fua(struct se_cmd *cmd, struct se_task *task)
404 struct fd_dev *fd_dev = dev->dev_ptr; 404 struct fd_dev *fd_dev = dev->dev_ptr;
405 loff_t start = task->task_se_cmd->t_task_lba * 405 loff_t start = task->task_se_cmd->t_task_lba *
406 dev->se_sub_dev->se_dev_attrib.block_size; 406 dev->se_sub_dev->se_dev_attrib.block_size;
407 loff_t end = start + task->task_size; 407 loff_t end = start + task->task_se_cmd->data_length;
408 int ret; 408 int ret;
409 409
410 pr_debug("FILEIO: FUA WRITE LBA: %llu, bytes: %u\n", 410 pr_debug("FILEIO: FUA WRITE LBA: %llu, bytes: %u\n",
411 task->task_se_cmd->t_task_lba, task->task_size); 411 task->task_se_cmd->t_task_lba,
412 task->task_se_cmd->data_length);
412 413
413 ret = vfs_fsync_range(fd_dev->fd_file, start, end, 1); 414 ret = vfs_fsync_range(fd_dev->fd_file, start, end, 1);
414 if (ret != 0) 415 if (ret != 0)