* [PATCH] [Target_Core_Mod]: Convert to se_task_t->task_sg usage in core and subsystem plugins
@ 2008-12-03 2:14 Nicholas A. Bellinger
2008-12-03 7:12 ` Bart Van Assche
0 siblings, 1 reply; 2+ messages in thread
From: Nicholas A. Bellinger @ 2008-12-03 2:14 UTC (permalink / raw)
To: Linux-iSCSI.org Target Dev, LKML, Linux-iSCSI.org Target Dev
Cc: FUJITA Tomonori, Boaz Harrosh
>From 41e98940da5ffaf7e31fce8d1f706e3e0a679654 Mon Sep 17 00:00:00 2001
From: Nicholas Bellinger <nab@linux-iscsi.org>
Date: Tue, 2 Dec 2008 18:06:54 -0800
Subject: [PATCH] [Target_Core_Mod]: Convert to se_task_t->task_sg usage in core and subsystem plugins
This patch adds makes the existing se_task_t->task_buf become se_task_t->task_sg of
type struct scatterlist. Changes to target_core_transport.c in transport_calc_sg_num()
and transport_free_dev_tasks() are simple, along with a one-liner change in
target_core_seobj.c:dev_obj_do_se_mem_map().
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
---
drivers/lio-core/target_core_base.h | 2 +-
drivers/lio-core/target_core_seobj.c | 11 ++++++-----
drivers/lio-core/target_core_transport.c | 9 ++++-----
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/lio-core/target_core_base.h b/drivers/lio-core/target_core_base.h
index 5ee04d3..b866613 100644
--- a/drivers/lio-core/target_core_base.h
+++ b/drivers/lio-core/target_core_base.h
@@ -249,7 +249,7 @@ typedef struct se_transport_task_s {
typedef struct se_task_s {
unsigned char task_sense;
- unsigned char *task_buf;
+ struct scatterlist *task_sg;
void *transport_req;
u8 task_scsi_status;
u8 task_flags;
diff --git a/drivers/lio-core/target_core_seobj.c b/drivers/lio-core/target_core_seobj.c
index 8e8c951..d013f2c 100644
--- a/drivers/lio-core/target_core_seobj.c
+++ b/drivers/lio-core/target_core_seobj.c
@@ -348,8 +348,9 @@ extern int dev_obj_do_se_mem_map (
* been done by the transport plugin.
*/
if (TRANSPORT(dev)->do_se_mem_map) {
- if ((ret = TRANSPORT(dev)->do_se_mem_map(task, se_mem_list, in_mem, in_se_mem,
- out_se_mem, se_mem_cnt, task_offset)) == 0)
+ if ((ret = TRANSPORT(dev)->do_se_mem_map(task, se_mem_list,
+ in_mem, in_se_mem, out_se_mem, se_mem_cnt,
+ task_offset)) == 0)
T_TASK(task->iscsi_cmd)->t_task_se_num += *se_mem_cnt;
return(ret);
@@ -362,10 +363,10 @@ extern int dev_obj_do_se_mem_map (
return(-1);
/*
- * se_task_t->task_buf now contains the struct scatterlist array.
+ * se_task_t->task_sg now contains the struct scatterlist array.
*/
- return(transport_map_mem_to_sg(task, se_mem_list, task->task_buf, in_se_mem, out_se_mem,
- se_mem_cnt, task_offset));
+ return(transport_map_mem_to_sg(task, se_mem_list, task->task_sg,
+ in_se_mem, out_se_mem, se_mem_cnt, task_offset));
}
extern int dev_obj_get_mem_buf (void *p, iscsi_cmd_t *cmd)
diff --git a/drivers/lio-core/target_core_transport.c b/drivers/lio-core/target_core_transport.c
index d92814c..b8e8294 100644
--- a/drivers/lio-core/target_core_transport.c
+++ b/drivers/lio-core/target_core_transport.c
@@ -4643,7 +4643,7 @@ extern void transport_free_dev_tasks (iscsi_cmd_t *cmd)
if (!task->transport_req)
continue;
- kfree(task->task_buf);
+ kfree(task->task_sg);
spin_unlock_irqrestore(&T_TASK(cmd)->t_state_lock, flags);
if (task->iscsi_dev)
@@ -5097,13 +5097,12 @@ extern u32 transport_calc_sg_num (
break;
}
- if (!(task->task_buf = kmalloc(task->task_sg_num * sizeof(struct scatterlist), GFP_KERNEL))) {
- TRACE_ERROR("Unable to allocate memory for task->task_buf\n");
+ if (!(task->task_sg = kzalloc(task->task_sg_num * sizeof(struct scatterlist), GFP_KERNEL))) {
+ TRACE_ERROR("Unable to allocate memory for task->task_sg\n");
return(0);
}
- memset(task->task_buf, 0, task->task_sg_num * sizeof(struct scatterlist));
- sg_init_table((struct scatterlist *)&task->task_buf[0], task->task_sg_num);
+ sg_init_table(&task->task_sg[0], task->task_sg_num);
DEBUG_SC("Successfully allocated task->task_sg_num: %u\n", task->task_sg_num);
--
1.5.4.1
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] [Target_Core_Mod]: Convert to se_task_t->task_sg usage in core and subsystem plugins
2008-12-03 2:14 [PATCH] [Target_Core_Mod]: Convert to se_task_t->task_sg usage in core and subsystem plugins Nicholas A. Bellinger
@ 2008-12-03 7:12 ` Bart Van Assche
0 siblings, 0 replies; 2+ messages in thread
From: Bart Van Assche @ 2008-12-03 7:12 UTC (permalink / raw)
To: linux-iscsi-target-dev; +Cc: LKML, FUJITA Tomonori, Boaz Harrosh
On Wed, Dec 3, 2008 at 3:14 AM, Nicholas A. Bellinger
<nab@linux-iscsi.org> wrote:
> drivers/lio-core/target_core_base.h | 2 +-
> drivers/lio-core/target_core_seobj.c | 11 ++++++-----
> drivers/lio-core/target_core_transport.c | 9 ++++-----
> 3 files changed, 11 insertions(+), 11 deletions(-)
Since this patch only contains changes to LIO-specific code, it should
be posted only on the LIO mailing list, and not on the LKML. You are
of course free to CC any individuals you want to CC.
Bart.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-12-03 7:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-12-03 2:14 [PATCH] [Target_Core_Mod]: Convert to se_task_t->task_sg usage in core and subsystem plugins Nicholas A. Bellinger
2008-12-03 7:12 ` Bart Van Assche
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®