Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
df64c082
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
163
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看板
提交
df64c082
编写于
5月 02, 2015
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
freevxfs: switch to simple_follow_link()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
ad476fed
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
5 addition
and
39 deletion
+5
-39
fs/freevxfs/vxfs_extern.h
fs/freevxfs/vxfs_extern.h
+0
-3
fs/freevxfs/vxfs_immed.c
fs/freevxfs/vxfs_immed.c
+0
-34
fs/freevxfs/vxfs_inode.c
fs/freevxfs/vxfs_inode.c
+5
-2
未找到文件。
fs/freevxfs/vxfs_extern.h
浏览文件 @
df64c082
...
...
@@ -50,9 +50,6 @@ extern daddr_t vxfs_bmap1(struct inode *, long);
/* vxfs_fshead.c */
extern
int
vxfs_read_fshead
(
struct
super_block
*
);
/* vxfs_immed.c */
extern
const
struct
inode_operations
vxfs_immed_symlink_iops
;
/* vxfs_inode.c */
extern
const
struct
address_space_operations
vxfs_immed_aops
;
extern
struct
kmem_cache
*
vxfs_inode_cachep
;
...
...
fs/freevxfs/vxfs_immed.c
浏览文件 @
df64c082
...
...
@@ -32,28 +32,14 @@
*/
#include <linux/fs.h>
#include <linux/pagemap.h>
#include <linux/namei.h>
#include "vxfs.h"
#include "vxfs_extern.h"
#include "vxfs_inode.h"
static
void
*
vxfs_immed_follow_link
(
struct
dentry
*
,
struct
nameidata
*
);
static
int
vxfs_immed_readpage
(
struct
file
*
,
struct
page
*
);
/*
* Inode operations for immed symlinks.
*
* Unliked all other operations we do not go through the pagecache,
* but do all work directly on the inode.
*/
const
struct
inode_operations
vxfs_immed_symlink_iops
=
{
.
readlink
=
generic_readlink
,
.
follow_link
=
vxfs_immed_follow_link
,
};
/*
* Address space operations for immed files and directories.
*/
...
...
@@ -61,26 +47,6 @@ const struct address_space_operations vxfs_immed_aops = {
.
readpage
=
vxfs_immed_readpage
,
};
/**
* vxfs_immed_follow_link - follow immed symlink
* @dp: dentry for the link
* @np: pathname lookup data for the current path walk
*
* Description:
* vxfs_immed_follow_link restarts the pathname lookup with
* the data obtained from @dp.
*
* Returns:
* Zero on success, else a negative error code.
*/
static
void
*
vxfs_immed_follow_link
(
struct
dentry
*
dp
,
struct
nameidata
*
np
)
{
struct
vxfs_inode_info
*
vip
=
VXFS_INO
(
d_inode
(
dp
));
nd_set_link
(
np
,
vip
->
vii_immed
.
vi_immed
);
return
NULL
;
}
/**
* vxfs_immed_readpage - read part of an immed inode into pagecache
* @file: file context (unused)
...
...
fs/freevxfs/vxfs_inode.c
浏览文件 @
df64c082
...
...
@@ -35,6 +35,7 @@
#include <linux/pagemap.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/namei.h>
#include "vxfs.h"
#include "vxfs_inode.h"
...
...
@@ -327,8 +328,10 @@ vxfs_iget(struct super_block *sbp, ino_t ino)
ip
->
i_op
=
&
page_symlink_inode_operations
;
ip
->
i_mapping
->
a_ops
=
&
vxfs_aops
;
}
else
{
ip
->
i_op
=
&
vxfs_immed_symlink_iops
;
vip
->
vii_immed
.
vi_immed
[
ip
->
i_size
]
=
'\0'
;
ip
->
i_op
=
&
simple_symlink_inode_operations
;
ip
->
i_link
=
vip
->
vii_immed
.
vi_immed
;
nd_terminate_link
(
ip
->
i_link
,
ip
->
i_size
,
sizeof
(
vip
->
vii_immed
.
vi_immed
)
-
1
);
}
}
else
init_special_inode
(
ip
,
ip
->
i_mode
,
old_decode_dev
(
vip
->
vii_rdev
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录