Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
b46c267e
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看板
提交
b46c267e
编写于
4月 14, 2015
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
9p: don't bother with 4K allocation for 24-byte local array...
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
030bbdbf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
21 deletion
+5
-21
fs/9p/vfs_inode.c
fs/9p/vfs_inode.c
+5
-21
未找到文件。
fs/9p/vfs_inode.c
浏览文件 @
b46c267e
...
@@ -1370,6 +1370,8 @@ v9fs_vfs_symlink(struct inode *dir, struct dentry *dentry, const char *symname)
...
@@ -1370,6 +1370,8 @@ v9fs_vfs_symlink(struct inode *dir, struct dentry *dentry, const char *symname)
return
v9fs_vfs_mkspecial
(
dir
,
dentry
,
P9_DMSYMLINK
,
symname
);
return
v9fs_vfs_mkspecial
(
dir
,
dentry
,
P9_DMSYMLINK
,
symname
);
}
}
#define U32_MAX_DIGITS 10
/**
/**
* v9fs_vfs_link - create a hardlink
* v9fs_vfs_link - create a hardlink
* @old_dentry: dentry for file to link to
* @old_dentry: dentry for file to link to
...
@@ -1383,7 +1385,7 @@ v9fs_vfs_link(struct dentry *old_dentry, struct inode *dir,
...
@@ -1383,7 +1385,7 @@ v9fs_vfs_link(struct dentry *old_dentry, struct inode *dir,
struct
dentry
*
dentry
)
struct
dentry
*
dentry
)
{
{
int
retval
;
int
retval
;
char
*
name
;
char
name
[
1
+
U32_MAX_DIGITS
+
2
];
/* sign + number + \n + \0 */
struct
p9_fid
*
oldfid
;
struct
p9_fid
*
oldfid
;
p9_debug
(
P9_DEBUG_VFS
,
" %lu,%pd,%pd
\n
"
,
p9_debug
(
P9_DEBUG_VFS
,
" %lu,%pd,%pd
\n
"
,
...
@@ -1393,20 +1395,12 @@ v9fs_vfs_link(struct dentry *old_dentry, struct inode *dir,
...
@@ -1393,20 +1395,12 @@ v9fs_vfs_link(struct dentry *old_dentry, struct inode *dir,
if
(
IS_ERR
(
oldfid
))
if
(
IS_ERR
(
oldfid
))
return
PTR_ERR
(
oldfid
);
return
PTR_ERR
(
oldfid
);
name
=
__getname
();
if
(
unlikely
(
!
name
))
{
retval
=
-
ENOMEM
;
goto
clunk_fid
;
}
sprintf
(
name
,
"%d
\n
"
,
oldfid
->
fid
);
sprintf
(
name
,
"%d
\n
"
,
oldfid
->
fid
);
retval
=
v9fs_vfs_mkspecial
(
dir
,
dentry
,
P9_DMLINK
,
name
);
retval
=
v9fs_vfs_mkspecial
(
dir
,
dentry
,
P9_DMLINK
,
name
);
__putname
(
name
);
if
(
!
retval
)
{
if
(
!
retval
)
{
v9fs_refresh_inode
(
oldfid
,
d_inode
(
old_dentry
));
v9fs_refresh_inode
(
oldfid
,
d_inode
(
old_dentry
));
v9fs_invalidate_inode_attr
(
dir
);
v9fs_invalidate_inode_attr
(
dir
);
}
}
clunk_fid:
p9_client_clunk
(
oldfid
);
p9_client_clunk
(
oldfid
);
return
retval
;
return
retval
;
}
}
...
@@ -1425,7 +1419,7 @@ v9fs_vfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rde
...
@@ -1425,7 +1419,7 @@ v9fs_vfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rde
{
{
struct
v9fs_session_info
*
v9ses
=
v9fs_inode2v9ses
(
dir
);
struct
v9fs_session_info
*
v9ses
=
v9fs_inode2v9ses
(
dir
);
int
retval
;
int
retval
;
char
*
name
;
char
name
[
2
+
U32_MAX_DIGITS
+
1
+
U32_MAX_DIGITS
+
1
]
;
u32
perm
;
u32
perm
;
p9_debug
(
P9_DEBUG_VFS
,
" %lu,%pd mode: %hx MAJOR: %u MINOR: %u
\n
"
,
p9_debug
(
P9_DEBUG_VFS
,
" %lu,%pd mode: %hx MAJOR: %u MINOR: %u
\n
"
,
...
@@ -1435,26 +1429,16 @@ v9fs_vfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rde
...
@@ -1435,26 +1429,16 @@ v9fs_vfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, dev_t rde
if
(
!
new_valid_dev
(
rdev
))
if
(
!
new_valid_dev
(
rdev
))
return
-
EINVAL
;
return
-
EINVAL
;
name
=
__getname
();
if
(
!
name
)
return
-
ENOMEM
;
/* build extension */
/* build extension */
if
(
S_ISBLK
(
mode
))
if
(
S_ISBLK
(
mode
))
sprintf
(
name
,
"b %u %u"
,
MAJOR
(
rdev
),
MINOR
(
rdev
));
sprintf
(
name
,
"b %u %u"
,
MAJOR
(
rdev
),
MINOR
(
rdev
));
else
if
(
S_ISCHR
(
mode
))
else
if
(
S_ISCHR
(
mode
))
sprintf
(
name
,
"c %u %u"
,
MAJOR
(
rdev
),
MINOR
(
rdev
));
sprintf
(
name
,
"c %u %u"
,
MAJOR
(
rdev
),
MINOR
(
rdev
));
else
if
(
S_ISFIFO
(
mode
))
else
*
name
=
0
;
else
if
(
S_ISSOCK
(
mode
))
*
name
=
0
;
*
name
=
0
;
else
{
__putname
(
name
);
return
-
EINVAL
;
}
perm
=
unixmode2p9mode
(
v9ses
,
mode
);
perm
=
unixmode2p9mode
(
v9ses
,
mode
);
retval
=
v9fs_vfs_mkspecial
(
dir
,
dentry
,
perm
,
name
);
retval
=
v9fs_vfs_mkspecial
(
dir
,
dentry
,
perm
,
name
);
__putname
(
name
);
return
retval
;
return
retval
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录