Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
3d1e4631
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看板
提交
3d1e4631
编写于
8月 08, 2009
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
get rid of init_file()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
cc3808f8
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
2 addition
and
31 deletion
+2
-31
fs/file_table.c
fs/file_table.c
+2
-28
include/linux/file.h
include/linux/file.h
+0
-3
未找到文件。
fs/file_table.c
浏览文件 @
3d1e4631
...
...
@@ -171,32 +171,6 @@ struct file *alloc_file(struct vfsmount *mnt, struct dentry *dentry,
if
(
!
file
)
return
NULL
;
init_file
(
file
,
mnt
,
dentry
,
mode
,
fop
);
return
file
;
}
EXPORT_SYMBOL
(
alloc_file
);
/**
* init_file - initialize a 'struct file'
* @file: the already allocated 'struct file' to initialized
* @mnt: the vfsmount on which the file resides
* @dentry: the dentry representing this file
* @mode: the mode the file is opened with
* @fop: the 'struct file_operations' for this file
*
* Use this instead of setting the members directly. Doing so
* avoids making mistakes like forgetting the mntget() or
* forgetting to take a write on the mnt.
*
* Note: This is a crappy interface. It is here to make
* merging with the existing users of get_empty_filp()
* who have complex failure logic easier. All users
* of this should be moving to alloc_file().
*/
int
init_file
(
struct
file
*
file
,
struct
vfsmount
*
mnt
,
struct
dentry
*
dentry
,
fmode_t
mode
,
const
struct
file_operations
*
fop
)
{
int
error
=
0
;
file
->
f_path
.
dentry
=
dentry
;
file
->
f_path
.
mnt
=
mntget
(
mnt
);
file
->
f_mapping
=
dentry
->
d_inode
->
i_mapping
;
...
...
@@ -210,13 +184,13 @@ int init_file(struct file *file, struct vfsmount *mnt, struct dentry *dentry,
* that we can do debugging checks at __fput()
*/
if
((
mode
&
FMODE_WRITE
)
&&
!
special_file
(
dentry
->
d_inode
->
i_mode
))
{
int
error
=
0
;
file_take_write
(
file
);
error
=
mnt_clone_write
(
mnt
);
WARN_ON
(
error
);
}
return
error
;
return
file
;
}
EXPORT_SYMBOL
(
init_file
);
void
fput
(
struct
file
*
file
)
{
...
...
include/linux/file.h
浏览文件 @
3d1e4631
...
...
@@ -18,9 +18,6 @@ extern void drop_file_write_access(struct file *file);
struct
file_operations
;
struct
vfsmount
;
struct
dentry
;
extern
int
init_file
(
struct
file
*
,
struct
vfsmount
*
mnt
,
struct
dentry
*
dentry
,
fmode_t
mode
,
const
struct
file_operations
*
fop
);
extern
struct
file
*
alloc_file
(
struct
vfsmount
*
,
struct
dentry
*
dentry
,
fmode_t
mode
,
const
struct
file_operations
*
fop
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录