Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
06328b4f
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
06328b4f
编写于
12月 06, 2006
作者:
D
David Howells
提交者:
David Howells
12月 06, 2006
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Actually update the fixed up compile failures.
Signed-Off-By:
N
David Howells
<
dhowells@redhat.com
>
上级
4796b71f
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
18 addition
and
12 deletion
+18
-12
drivers/scsi/aic94xx/aic94xx_scb.c
drivers/scsi/aic94xx/aic94xx_scb.c
+5
-4
drivers/scsi/libsas/sas_scsi_host.c
drivers/scsi/libsas/sas_scsi_host.c
+3
-1
drivers/scsi/scsi_tgt_lib.c
drivers/scsi/scsi_tgt_lib.c
+9
-6
include/scsi/libsas.h
include/scsi/libsas.h
+1
-1
未找到文件。
drivers/scsi/aic94xx/aic94xx_scb.c
浏览文件 @
06328b4f
...
...
@@ -414,9 +414,10 @@ void asd_invalidate_edb(struct asd_ascb *ascb, int edb_id)
}
/* hard reset a phy later */
static
void
do_phy_reset_later
(
void
*
data
)
static
void
do_phy_reset_later
(
struct
work_struct
*
work
)
{
struct
sas_phy
*
sas_phy
=
data
;
struct
sas_phy
*
sas_phy
=
container_of
(
work
,
struct
sas_phy
,
reset_work
);
int
error
;
ASD_DPRINTK
(
"%s: About to hard reset phy %d
\n
"
,
__FUNCTION__
,
...
...
@@ -430,7 +431,7 @@ static void do_phy_reset_later(void *data)
static
void
phy_reset_later
(
struct
sas_phy
*
sas_phy
,
struct
Scsi_Host
*
shost
)
{
INIT_WORK
(
&
sas_phy
->
reset_work
,
do_phy_reset_later
,
sas_phy
);
INIT_WORK
(
&
sas_phy
->
reset_work
,
do_phy_reset_later
);
queue_work
(
shost
->
work_q
,
&
sas_phy
->
reset_work
);
}
...
...
@@ -442,7 +443,7 @@ static void task_kill_later(struct asd_ascb *ascb)
struct
Scsi_Host
*
shost
=
sas_ha
->
core
.
shost
;
struct
sas_task
*
task
=
ascb
->
uldd_task
;
INIT_WORK
(
&
task
->
abort_work
,
(
void
(
*
)(
void
*
))
sas_task_abort
,
task
);
INIT_WORK
(
&
task
->
abort_work
,
sas_task_abort
);
queue_work
(
shost
->
work_q
,
&
task
->
abort_work
);
}
...
...
drivers/scsi/libsas/sas_scsi_host.c
浏览文件 @
06328b4f
...
...
@@ -846,8 +846,10 @@ static int do_sas_task_abort(struct sas_task *task)
return
-
EAGAIN
;
}
void
sas_task_abort
(
struct
sas_task
*
tas
k
)
void
sas_task_abort
(
struct
work_struct
*
wor
k
)
{
struct
sas_task
*
task
=
container_of
(
work
,
struct
sas_task
,
abort_work
);
int
i
;
for
(
i
=
0
;
i
<
5
;
i
++
)
...
...
drivers/scsi/scsi_tgt_lib.c
浏览文件 @
06328b4f
...
...
@@ -185,10 +185,11 @@ static void cmd_hashlist_del(struct scsi_cmnd *cmd)
spin_unlock_irqrestore
(
&
qdata
->
cmd_hash_lock
,
flags
);
}
static
void
scsi_tgt_cmd_destroy
(
void
*
data
)
static
void
scsi_tgt_cmd_destroy
(
struct
work_struct
*
work
)
{
struct
scsi_cmnd
*
cmd
=
data
;
struct
scsi_tgt_cmd
*
tcmd
=
cmd
->
request
->
end_io_data
;
struct
scsi_tgt_cmd
*
tcmd
=
container_of
(
work
,
struct
scsi_tgt_cmd
,
work
);
struct
scsi_cmnd
*
cmd
=
tcmd
->
rq
->
special
;
dprintk
(
"cmd %p %d %lu
\n
"
,
cmd
,
cmd
->
sc_data_direction
,
rq_data_dir
(
cmd
->
request
));
...
...
@@ -214,6 +215,7 @@ static void init_scsi_tgt_cmd(struct request *rq, struct scsi_tgt_cmd *tcmd,
struct
list_head
*
head
;
tcmd
->
tag
=
tag
;
INIT_WORK
(
&
tcmd
->
work
,
scsi_tgt_cmd_destroy
);
spin_lock_irqsave
(
&
qdata
->
cmd_hash_lock
,
flags
);
head
=
&
qdata
->
cmd_hash
[
cmd_hashfn
(
tag
)];
list_add
(
&
tcmd
->
hash_list
,
head
);
...
...
@@ -303,7 +305,7 @@ void scsi_tgt_free_queue(struct Scsi_Host *shost)
cmd
=
tcmd
->
rq
->
special
;
shost
->
hostt
->
eh_abort_handler
(
cmd
);
scsi_tgt_cmd_destroy
(
cmd
);
scsi_tgt_cmd_destroy
(
&
tcmd
->
work
);
}
}
EXPORT_SYMBOL_GPL
(
scsi_tgt_free_queue
);
...
...
@@ -347,7 +349,6 @@ static void scsi_tgt_cmd_done(struct scsi_cmnd *cmd)
dprintk
(
"cmd %p %lu
\n
"
,
cmd
,
rq_data_dir
(
cmd
->
request
));
scsi_tgt_uspace_send_status
(
cmd
,
tcmd
->
tag
);
INIT_WORK
(
&
tcmd
->
work
,
scsi_tgt_cmd_destroy
,
cmd
);
queue_work
(
scsi_tgtd
,
&
tcmd
->
work
);
}
...
...
@@ -549,13 +550,15 @@ static int scsi_tgt_copy_sense(struct scsi_cmnd *cmd, unsigned long uaddr,
static
int
scsi_tgt_abort_cmd
(
struct
Scsi_Host
*
shost
,
struct
scsi_cmnd
*
cmd
)
{
struct
scsi_tgt_cmd
*
tcmd
;
int
err
;
err
=
shost
->
hostt
->
eh_abort_handler
(
cmd
);
if
(
err
)
eprintk
(
"fail to abort %p
\n
"
,
cmd
);
scsi_tgt_cmd_destroy
(
cmd
);
tcmd
=
cmd
->
request
->
end_io_data
;
scsi_tgt_cmd_destroy
(
&
tcmd
->
work
);
return
err
;
}
...
...
include/scsi/libsas.h
浏览文件 @
06328b4f
...
...
@@ -646,6 +646,6 @@ void sas_unregister_dev(struct domain_device *);
void
sas_init_dev
(
struct
domain_device
*
);
void
sas_task_abort
(
struct
sas_task
*
task
);
void
sas_task_abort
(
struct
work_struct
*
);
#endif
/* _SASLIB_H_ */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录