提交 5c6cd613 编写于 作者: N Nicholas Bellinger 提交者: James Bottomley

[SCSI] target: Convert TMR REQ/RSP definitions to target namespace

This patch changes include/target/target_core_tmr.h code to use
target specific 'TMR_*' prefixed definitions for fabric independent
SCSI Task Management Request/Request naming in include/scsi/scsi.h
definitions for mainline target code.
Signed-off-by: NNicholas A. Bellinger <nab@linux-iscsi.org>
Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
上级 065f9716
...@@ -5832,31 +5832,26 @@ int transport_generic_do_tmr(struct se_cmd *cmd) ...@@ -5832,31 +5832,26 @@ int transport_generic_do_tmr(struct se_cmd *cmd)
int ret; int ret;
switch (tmr->function) { switch (tmr->function) {
case ABORT_TASK: case TMR_ABORT_TASK:
ref_cmd = tmr->ref_cmd; ref_cmd = tmr->ref_cmd;
tmr->response = TMR_FUNCTION_REJECTED; tmr->response = TMR_FUNCTION_REJECTED;
break; break;
case ABORT_TASK_SET: case TMR_ABORT_TASK_SET:
case CLEAR_ACA: case TMR_CLEAR_ACA:
case CLEAR_TASK_SET: case TMR_CLEAR_TASK_SET:
tmr->response = TMR_TASK_MGMT_FUNCTION_NOT_SUPPORTED; tmr->response = TMR_TASK_MGMT_FUNCTION_NOT_SUPPORTED;
break; break;
case LUN_RESET: case TMR_LUN_RESET:
ret = core_tmr_lun_reset(dev, tmr, NULL, NULL); ret = core_tmr_lun_reset(dev, tmr, NULL, NULL);
tmr->response = (!ret) ? TMR_FUNCTION_COMPLETE : tmr->response = (!ret) ? TMR_FUNCTION_COMPLETE :
TMR_FUNCTION_REJECTED; TMR_FUNCTION_REJECTED;
break; break;
#if 0 case TMR_TARGET_WARM_RESET:
case TARGET_WARM_RESET:
transport_generic_host_reset(dev->se_hba);
tmr->response = TMR_FUNCTION_REJECTED; tmr->response = TMR_FUNCTION_REJECTED;
break; break;
case TARGET_COLD_RESET: case TMR_TARGET_COLD_RESET:
transport_generic_host_reset(dev->se_hba);
transport_generic_cold_reset(dev->se_hba);
tmr->response = TMR_FUNCTION_REJECTED; tmr->response = TMR_FUNCTION_REJECTED;
break; break;
#endif
default: default:
printk(KERN_ERR "Uknown TMR function: 0x%02x.\n", printk(KERN_ERR "Uknown TMR function: 0x%02x.\n",
tmr->function); tmr->function);
......
#ifndef TARGET_CORE_TMR_H #ifndef TARGET_CORE_TMR_H
#define TARGET_CORE_TMR_H #define TARGET_CORE_TMR_H
/* task management function values */ /* fabric independent task management function values */
#ifdef ABORT_TASK enum tcm_tmreq_table {
#undef ABORT_TASK TMR_ABORT_TASK = 1,
#endif /* ABORT_TASK */ TMR_ABORT_TASK_SET = 2,
#define ABORT_TASK 1 TMR_CLEAR_ACA = 3,
#ifdef ABORT_TASK_SET TMR_CLEAR_TASK_SET = 4,
#undef ABORT_TASK_SET TMR_LUN_RESET = 5,
#endif /* ABORT_TASK_SET */ TMR_TARGET_WARM_RESET = 6,
#define ABORT_TASK_SET 2 TMR_TARGET_COLD_RESET = 7,
#ifdef CLEAR_ACA TMR_FABRIC_TMR = 255,
#undef CLEAR_ACA };
#endif /* CLEAR_ACA */
#define CLEAR_ACA 3
#ifdef CLEAR_TASK_SET
#undef CLEAR_TASK_SET
#endif /* CLEAR_TASK_SET */
#define CLEAR_TASK_SET 4
#define LUN_RESET 5
#define TARGET_WARM_RESET 6
#define TARGET_COLD_RESET 7
#define TASK_REASSIGN 8
/* task management response values */ /* fabric independent task management response values */
#define TMR_FUNCTION_COMPLETE 0 enum tcm_tmrsp_table {
#define TMR_TASK_DOES_NOT_EXIST 1 TMR_FUNCTION_COMPLETE = 0,
#define TMR_LUN_DOES_NOT_EXIST 2 TMR_TASK_DOES_NOT_EXIST = 1,
#define TMR_TASK_STILL_ALLEGIANT 3 TMR_LUN_DOES_NOT_EXIST = 2,
#define TMR_TASK_FAILOVER_NOT_SUPPORTED 4 TMR_TASK_STILL_ALLEGIANT = 3,
#define TMR_TASK_MGMT_FUNCTION_NOT_SUPPORTED 5 TMR_TASK_FAILOVER_NOT_SUPPORTED = 4,
#define TMR_FUNCTION_AUTHORIZATION_FAILED 6 TMR_TASK_MGMT_FUNCTION_NOT_SUPPORTED = 5,
#define TMR_FUNCTION_REJECTED 255 TMR_FUNCTION_AUTHORIZATION_FAILED = 6,
TMR_FUNCTION_REJECTED = 255,
};
extern struct kmem_cache *se_tmr_req_cache; extern struct kmem_cache *se_tmr_req_cache;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册