From b901fe29584c8f24c8a11607160cb9227b33b447 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 28 May 2011 10:37:46 +0000 Subject: [PATCH] iSCSI-SCST builds again on RHEL 5. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3488 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- iscsi-scst/kernel/iscsi.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/iscsi-scst/kernel/iscsi.c b/iscsi-scst/kernel/iscsi.c index 5d5a66a8c..898d5ae7b 100644 --- a/iscsi-scst/kernel/iscsi.c +++ b/iscsi-scst/kernel/iscsi.c @@ -2362,10 +2362,18 @@ struct iscsi_cmnd_abort_params { static mempool_t *iscsi_cmnd_abort_mempool; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20) +static void iscsi_cmnd_abort_fn(void *ctx) +#else static void iscsi_cmnd_abort_fn(struct work_struct *work) +#endif { +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20) + struct iscsi_cmnd_abort_params *params = ctx; +#else struct iscsi_cmnd_abort_params *params = container_of(work, struct iscsi_cmnd_abort_params, iscsi_cmnd_abort_work); +#endif struct scst_cmd *scst_cmd = params->scst_cmd; struct iscsi_session *session = scst_sess_get_tgt_priv(scst_cmd->sess); struct iscsi_conn *conn; @@ -2424,7 +2432,11 @@ static void iscsi_on_abort_cmd(struct scst_cmd *scst_cmd) } memset(params, 0, sizeof(*params)); +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20) + INIT_WORK(¶ms->iscsi_cmnd_abort_work, iscsi_cmnd_abort_fn, params); +#else INIT_WORK(¶ms->iscsi_cmnd_abort_work, iscsi_cmnd_abort_fn); +#endif params->scst_cmd = scst_cmd; scst_cmd_get(scst_cmd);