aboutsummaryrefslogtreecommitdiffstats
path: root/include/target
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2011-10-23 21:46:36 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2011-10-23 23:22:08 -0400
commit2e982ab92dff057c639d4a43ccfa275be62f5e59 (patch)
tree8c8467e06736efa042006b11210281894c75bd95 /include/target
parent415a090ade7e674018e3fa4255938e4c312339b3 (diff)
target: Remove legacy se_task->task_timer and associated logic
This patch removes the legacy usage of se_task->task_timer and associated infrastructure that originally was used as a way to help manage buggy backend SCSI LLDs that in certain cases would never return back an outstanding task. This includes the removal of target_complete_timeout_work(), timeout logic from transport_complete_task(), transport_task_timeout_handler(), transport_start_task_timer(), the per device task_timeout configfs attribute, and all task_timeout associated structure members and defines in target_core_base.h This is being removed in preparation to make transport_complete_task() run in lock-less mode. Cc: 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.h7
-rw-r--r--include/target/target_core_transport.h16
2 files changed, 4 insertions, 19 deletions
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index d210f1fe9962..35aa786f93da 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -75,8 +75,7 @@ enum transport_tpg_type_table {
75enum se_task_flags { 75enum se_task_flags {
76 TF_ACTIVE = (1 << 0), 76 TF_ACTIVE = (1 << 0),
77 TF_SENT = (1 << 1), 77 TF_SENT = (1 << 1),
78 TF_TIMEOUT = (1 << 2), 78 TF_REQUEST_STOP = (1 << 2),
79 TF_REQUEST_STOP = (1 << 3),
80}; 79};
81 80
82/* Special transport agnostic struct se_cmd->t_states */ 81/* Special transport agnostic struct se_cmd->t_states */
@@ -404,7 +403,6 @@ struct se_task {
404 int task_error_status; 403 int task_error_status;
405 enum dma_data_direction task_data_direction; 404 enum dma_data_direction task_data_direction;
406 atomic_t task_state_active; 405 atomic_t task_state_active;
407 struct timer_list task_timer;
408 struct list_head t_list; 406 struct list_head t_list;
409 struct list_head t_execute_list; 407 struct list_head t_execute_list;
410 struct list_head t_state_list; 408 struct list_head t_state_list;
@@ -469,7 +467,6 @@ struct se_cmd {
469 atomic_t t_se_count; 467 atomic_t t_se_count;
470 atomic_t t_task_cdbs_left; 468 atomic_t t_task_cdbs_left;
471 atomic_t t_task_cdbs_ex_left; 469 atomic_t t_task_cdbs_ex_left;
472 atomic_t t_task_cdbs_timeout_left;
473 atomic_t t_task_cdbs_sent; 470 atomic_t t_task_cdbs_sent;
474 atomic_t t_transport_aborted; 471 atomic_t t_transport_aborted;
475 atomic_t t_transport_active; 472 atomic_t t_transport_active;
@@ -477,7 +474,6 @@ struct se_cmd {
477 atomic_t t_transport_queue_active; 474 atomic_t t_transport_queue_active;
478 atomic_t t_transport_sent; 475 atomic_t t_transport_sent;
479 atomic_t t_transport_stop; 476 atomic_t t_transport_stop;
480 atomic_t t_transport_timeout;
481 atomic_t transport_dev_active; 477 atomic_t transport_dev_active;
482 atomic_t transport_lun_active; 478 atomic_t transport_lun_active;
483 atomic_t transport_lun_fe_stop; 479 atomic_t transport_lun_fe_stop;
@@ -646,7 +642,6 @@ struct se_dev_attrib {
646 u32 optimal_sectors; 642 u32 optimal_sectors;
647 u32 hw_queue_depth; 643 u32 hw_queue_depth;
648 u32 queue_depth; 644 u32 queue_depth;
649 u32 task_timeout;
650 u32 max_unmap_lba_count; 645 u32 max_unmap_lba_count;
651 u32 max_unmap_block_desc_count; 646 u32 max_unmap_block_desc_count;
652 u32 unmap_granularity; 647 u32 unmap_granularity;
diff --git a/include/target/target_core_transport.h b/include/target/target_core_transport.h
index 32c586346c0e..a037a1a6fbba 100644
--- a/include/target/target_core_transport.h
+++ b/include/target/target_core_transport.h
@@ -22,10 +22,9 @@
22#define PYX_TRANSPORT_LU_COMM_FAILURE -7 22#define PYX_TRANSPORT_LU_COMM_FAILURE -7
23#define PYX_TRANSPORT_UNKNOWN_MODE_PAGE -8 23#define PYX_TRANSPORT_UNKNOWN_MODE_PAGE -8
24#define PYX_TRANSPORT_WRITE_PROTECTED -9 24#define PYX_TRANSPORT_WRITE_PROTECTED -9
25#define PYX_TRANSPORT_TASK_TIMEOUT -10 25#define PYX_TRANSPORT_RESERVATION_CONFLICT -10
26#define PYX_TRANSPORT_RESERVATION_CONFLICT -11 26#define PYX_TRANSPORT_ILLEGAL_REQUEST -11
27#define PYX_TRANSPORT_ILLEGAL_REQUEST -12 27#define PYX_TRANSPORT_USE_SENSE_REASON -12
28#define PYX_TRANSPORT_USE_SENSE_REASON -13
29 28
30#ifndef SAM_STAT_RESERVATION_CONFLICT 29#ifndef SAM_STAT_RESERVATION_CONFLICT
31#define SAM_STAT_RESERVATION_CONFLICT 0x18 30#define SAM_STAT_RESERVATION_CONFLICT 0x18
@@ -38,13 +37,6 @@
38#define TRANSPORT_PLUGIN_VHBA_PDEV 2 37#define TRANSPORT_PLUGIN_VHBA_PDEV 2
39#define TRANSPORT_PLUGIN_VHBA_VDEV 3 38#define TRANSPORT_PLUGIN_VHBA_VDEV 3
40 39
41/* For SE OBJ Plugins, in seconds */
42#define TRANSPORT_TIMEOUT_TUR 10
43#define TRANSPORT_TIMEOUT_TYPE_DISK 60
44#define TRANSPORT_TIMEOUT_TYPE_ROM 120
45#define TRANSPORT_TIMEOUT_TYPE_TAPE 600
46#define TRANSPORT_TIMEOUT_TYPE_OTHER 300
47
48/* 40/*
49 * struct se_subsystem_dev->su_dev_flags 41 * struct se_subsystem_dev->su_dev_flags
50*/ 42*/
@@ -61,8 +53,6 @@
61#define DF_SPC2_RESERVATIONS_WITH_ISID 0x00000004 53#define DF_SPC2_RESERVATIONS_WITH_ISID 0x00000004
62 54
63/* struct se_dev_attrib sanity values */ 55/* struct se_dev_attrib sanity values */
64/* 10 Minutes */
65#define DA_TASK_TIMEOUT_MAX 600
66/* Default max_unmap_lba_count */ 56/* Default max_unmap_lba_count */
67#define DA_MAX_UNMAP_LBA_COUNT 0 57#define DA_MAX_UNMAP_LBA_COUNT 0
68/* Default max_unmap_block_desc_count */ 58/* Default max_unmap_block_desc_count */