[stgt] Help pinpointing cause of tgtd instability
John Pletka
jpletka at abraxis.com
Thu Dec 8 18:02:25 CET 2011
If you can confim I applied the patch correctly to this function, it
should be sufficient. Basically, you want to always return
ISCSI_TMF_RSP_REJECTED , right?
static int iscsi_tm_execute(struct iscsi_task *task)
{
struct iscsi_connection *conn = task->conn;
struct iscsi_tm *req = (struct iscsi_tm *) &task->req;
int fn = 0, err = 0;
err = ISCSI_TMF_RSP_REJECTED;
#if 0
switch (req->flags & ISCSI_FLAG_TM_FUNC_MASK) {
case ISCSI_TM_FUNC_ABORT_TASK:
fn = ABORT_TASK;
break;
case ISCSI_TM_FUNC_ABORT_TASK_SET:
fn = ABORT_TASK_SET;
break;
case ISCSI_TM_FUNC_CLEAR_ACA:
err = ISCSI_TMF_RSP_NOT_SUPPORTED;
break;
case ISCSI_TM_FUNC_CLEAR_TASK_SET:
err = ISCSI_TMF_RSP_NOT_SUPPORTED;
break;
case ISCSI_TM_FUNC_LOGICAL_UNIT_RESET:
fn = LOGICAL_UNIT_RESET;
break;
case ISCSI_TM_FUNC_TARGET_WARM_RESET:
case ISCSI_TM_FUNC_TARGET_COLD_RESET:
case ISCSI_TM_FUNC_TASK_REASSIGN:
err = ISCSI_TMF_RSP_NOT_SUPPORTED;
break;
default:
err = ISCSI_TMF_RSP_REJECTED;
eprintf("unknown task management function %d\n",
req->flags & ISCSI_FLAG_TM_FUNC_MASK);
}
#endif
if (err)
task->result = err;
else {
int ret;
ret = target_mgmt_request(conn->session->target->tid,
conn->session->tsih,
(unsigned long)task, fn, req->lun,
req->rtt, 0);
set_task_in_scsi(task);
switch (ret) {
case MGMT_REQ_QUEUED:
break;
case MGMT_REQ_FAILED:
case MGMT_REQ_DONE:
clear_task_in_scsi(task);
break;
}
}
return err;
}
On Wed, Dec 7, 2011 at 5:22 PM, FUJITA Tomonori
<fujita.tomonori at lab.ntt.co.jp> wrote:
> On Mon, 5 Dec 2011 15:13:47 -0500
> John Pletka <jpletka at abraxis.com> wrote:
>
>> Would this be the signature of the task management bug? The read-only
>
> Looks like so.
>
>> file system issue happened again today with
>> scsi-target-utils-1.0.22-1.el6.x86_64. That was built from
>> http://kojipkgs.fedoraproject.org/packages/scsi-target-utils/1.0.22/1.fc17/src/scsi-target-utils-1.0.22-1.fc17.src.rpm.
>> I'd be glad to test your patch, but I'll need some assistance
>> applying it since I don't have a working dev environment setup here.
>
> Do you mean that you need the binary package complied with the patch?
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the stgt
mailing list