[PATCH 1/4] target: remove the task_sg_bidi field se_task

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This field is never used given that BIDI handling happens at the
command and not the task level.  Remove it and the dead code in
pscsi that tries to work on it.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: lio-core/drivers/target/target_core_pscsi.c
===================================================================
--- lio-core.orig/drivers/target/target_core_pscsi.c	2011-10-18 12:04:03.941357058 +0200
+++ lio-core/drivers/target/target_core_pscsi.c	2011-10-18 12:04:36.669854377 +0200
@@ -1095,32 +1095,6 @@ static int pscsi_do_task(struct se_task
 			pr_err("pSCSI: blk_make_request() failed\n");
 			goto fail;
 		}
-
-		if (task->task_sg_bidi) {
-			/*
-			 * If present, set up the extra BIDI-COMMAND SCSI READ
-			 * struct request and payload.
-			 */
-			ret = pscsi_map_sg(task, task->task_sg_bidi, &hbio);
-			if (ret < 0) {
-				/* XXX: free the main request? */
-				return PYX_TRANSPORT_LU_COMM_FAILURE;
-			}
-
-			/*
-			 * Setup the secondary pt->pscsi_req->next_rq used for the extra
-			 * BIDI READ payload.
-			 */
-			req->next_rq = blk_make_request(pdv->pdv_sd->request_queue,
-							hbio, GFP_KERNEL);
-			if (!req) {
-				pr_err("pSCSI: blk_make_request() failed for BIDI\n");
-				/* XXX: free the main request? */
-				goto fail;
-			}
-
-			req->next_rq->cmd_type = REQ_TYPE_BLOCK_PC;
-		}
 	}
 
 	req->cmd_type = REQ_TYPE_BLOCK_PC;
@@ -1240,12 +1214,6 @@ static void pscsi_req_done(struct reques
 	pt->pscsi_resid = req->resid_len;
 
 	pscsi_process_SAM_status(task, pt);
-	/*
-	 * Release BIDI-READ if present
-	 */
-	if (req->next_rq != NULL)
-		__blk_put_request(req->q, req->next_rq);
-
 	__blk_put_request(req->q, req);
 }
 
Index: lio-core/drivers/target/target_core_transport.c
===================================================================
--- lio-core.orig/drivers/target/target_core_transport.c	2011-10-18 12:04:04.968357621 +0200
+++ lio-core/drivers/target/target_core_transport.c	2011-10-18 12:04:36.673858642 +0200
@@ -3535,7 +3535,6 @@ static void transport_free_dev_tasks(str
 		 */
 		del_timer_sync(&task->task_timer);
 
-		kfree(task->task_sg_bidi);
 		kfree(task->task_sg);
 
 		list_del(&task->t_list);
Index: lio-core/include/target/target_core_base.h
===================================================================
--- lio-core.orig/include/target/target_core_base.h	2011-10-18 12:04:03.969352355 +0200
+++ lio-core/include/target/target_core_base.h	2011-10-18 12:04:36.677920786 +0200
@@ -397,7 +397,6 @@ struct se_task {
 	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;

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux