Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
2be7fd55
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2be7fd55
编写于
8月 21, 2012
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
switch spufs/coredump to iterate_fd()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
179e037f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
20 deletion
+20
-20
arch/powerpc/platforms/cell/spufs/coredump.c
arch/powerpc/platforms/cell/spufs/coredump.c
+20
-20
未找到文件。
arch/powerpc/platforms/cell/spufs/coredump.c
浏览文件 @
2be7fd55
...
@@ -106,6 +106,17 @@ static int spufs_ctx_note_size(struct spu_context *ctx, int dfd)
...
@@ -106,6 +106,17 @@ static int spufs_ctx_note_size(struct spu_context *ctx, int dfd)
return
total
;
return
total
;
}
}
static
int
match_context
(
const
void
*
v
,
struct
file
*
file
,
unsigned
fd
)
{
struct
spu_context
*
ctx
;
if
(
file
->
f_op
!=
&
spufs_context_fops
)
return
0
;
ctx
=
SPUFS_I
(
file
->
f_dentry
->
d_inode
)
->
i_ctx
;
if
(
ctx
->
flags
&
SPU_CREATE_NOSCHED
)
return
0
;
return
fd
+
1
;
}
/*
/*
* The additional architecture-specific notes for Cell are various
* The additional architecture-specific notes for Cell are various
* context files in the spu context.
* context files in the spu context.
...
@@ -115,29 +126,18 @@ static int spufs_ctx_note_size(struct spu_context *ctx, int dfd)
...
@@ -115,29 +126,18 @@ static int spufs_ctx_note_size(struct spu_context *ctx, int dfd)
* internal functionality to dump them without needing to actually
* internal functionality to dump them without needing to actually
* open the files.
* open the files.
*/
*/
/*
* descriptor table is not shared, so files can't change or go away.
*/
static
struct
spu_context
*
coredump_next_context
(
int
*
fd
)
static
struct
spu_context
*
coredump_next_context
(
int
*
fd
)
{
{
struct
fdtable
*
fdt
=
files_fdtable
(
current
->
files
);
struct
file
*
file
;
struct
file
*
file
;
struct
spu_context
*
ctx
=
NULL
;
int
n
=
iterate_fd
(
current
->
files
,
*
fd
,
match_context
,
NULL
);
if
(
!
n
)
for
(;
*
fd
<
fdt
->
max_fds
;
(
*
fd
)
++
)
{
return
NULL
;
if
(
!
fd_is_open
(
*
fd
,
fdt
))
*
fd
=
n
-
1
;
continue
;
file
=
fcheck
(
*
fd
);
return
SPUFS_I
(
file
->
f_dentry
->
d_inode
)
->
i_ctx
;
file
=
fcheck
(
*
fd
);
if
(
!
file
||
file
->
f_op
!=
&
spufs_context_fops
)
continue
;
ctx
=
SPUFS_I
(
file
->
f_dentry
->
d_inode
)
->
i_ctx
;
if
(
ctx
->
flags
&
SPU_CREATE_NOSCHED
)
continue
;
break
;
}
return
ctx
;
}
}
int
spufs_coredump_extra_notes_size
(
void
)
int
spufs_coredump_extra_notes_size
(
void
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录