OSDN Git Service

scsi: qedf: Add a flag to help debugging io_req which could not be cleaned
authorShyam Sundar <ssundar@marvell.com>
Tue, 26 Mar 2019 07:38:53 +0000 (00:38 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 28 Mar 2019 01:54:53 +0000 (21:54 -0400)
 - The flag will help in to figure out if io_req is cleaned or not.

Signed-off-by: Shyam Sundar <ssundar@marvell.com>
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf_io.c

index 889b300..4a792ea 100644 (file)
@@ -351,6 +351,11 @@ struct qedf_ioreq *qedf_alloc_cmd(struct qedf_rport *fcport, u8 cmd_type)
                goto out_failed;
        }
 
+       if (test_bit(QEDF_CMD_DIRTY, &io_req->flags))
+               QEDF_ERR(&qedf->dbg_ctx,
+                        "io_req found to be dirty ox_id = 0x%x.\n",
+                        io_req->xid);
+
        /* Clear any flags now that we've reallocated the xid */
        io_req->flags = 0;
        io_req->alloc = 1;
@@ -1744,6 +1749,8 @@ free_cmd:
                                            io_req->fcport == fcport) {
                                                refcount =
                                                kref_read(&io_req->refcount);
+                                               set_bit(QEDF_CMD_DIRTY,
+                                                       &io_req->flags);
                                                QEDF_ERR(&qedf->dbg_ctx,
                                                         "Outstanding io_req =%p xid=0x%x flags=0x%lx, sc_cmd=%p refcount=%d cmd_type=%d.\n",
                                                         io_req, io_req->xid,