aboutsummaryrefslogtreecommitdiffstats
path: root/include/target
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-10-12 11:07:07 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2011-10-24 03:21:10 +0000
commit3189b067eeae4646f3c7fa0ed0d14659a682baa8 (patch)
treeb6e69465e1d79775e4afc2422e4067eea94dea3e /include/target
parenttarget: Remove unnecessary se_task members (diff)
downloadlinux-dev-3189b067eeae4646f3c7fa0ed0d14659a682baa8.tar.xz
linux-dev-3189b067eeae4646f3c7fa0ed0d14659a682baa8.zip
target: pack struct se_task more tightly
Rearrange the fields in se_task to avoid holes. Also increase the flags field to 16 bits as we have the space for it, and this makes adding new flags safer. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include/target')
-rw-r--r--include/target/target_core_base.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index 45291b23bc03..a6c23485068e 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -402,24 +402,24 @@ struct se_queue_obj {
} ____cacheline_aligned;
struct se_task {
- unsigned char task_sense;
- struct scatterlist *task_sg;
- u32 task_sg_nents;
- struct scatterlist *task_sg_bidi;
- u8 task_scsi_status;
- u8 task_flags;
- int task_error_status;
unsigned long long task_lba;
- u32 task_sectors;
- u32 task_size;
+ u32 task_sectors;
+ u32 task_size;
+ struct se_cmd *task_se_cmd;
+ struct scatterlist *task_sg;
+ struct scatterlist *task_sg_bidi;
+ u32 task_sg_nents;
+ u16 task_flags;
+ u8 task_sense;
+ u8 task_scsi_status;
+ int task_error_status;
enum dma_data_direction task_data_direction;
- struct se_cmd *task_se_cmd;
- struct completion task_stop_comp;
- atomic_t task_state_active;
+ atomic_t task_state_active;
struct timer_list task_timer;
- struct list_head t_list;
- struct list_head t_execute_list;
- struct list_head t_state_list;
+ struct list_head t_list;
+ struct list_head t_execute_list;
+ struct list_head t_state_list;
+ struct completion task_stop_comp;
} ____cacheline_aligned;
struct se_cmd {