Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
5b91aca0
K
Kernel
项目概览
openeuler
/
Kernel
12 个月 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5b91aca0
编写于
7月 24, 2011
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
usbfs: propagate umode_t
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
fec0ebae
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
10 deletion
+8
-10
drivers/usb/core/inode.c
drivers/usb/core/inode.c
+8
-10
未找到文件。
drivers/usb/core/inode.c
浏览文件 @
5b91aca0
...
...
@@ -270,15 +270,13 @@ static int remount(struct super_block *sb, int *flags, char *data)
return
0
;
}
static
struct
inode
*
usbfs_get_inode
(
struct
super_block
*
sb
,
in
t
mode
,
dev_t
dev
)
static
struct
inode
*
usbfs_get_inode
(
struct
super_block
*
sb
,
umode_
t
mode
,
dev_t
dev
)
{
struct
inode
*
inode
=
new_inode
(
sb
);
if
(
inode
)
{
inode
->
i_ino
=
get_next_ino
();
inode
->
i_mode
=
mode
;
inode
->
i_uid
=
current_fsuid
();
inode
->
i_gid
=
current_fsgid
();
inode_init_owner
(
inode
,
NULL
,
mode
);
inode
->
i_atime
=
inode
->
i_mtime
=
inode
->
i_ctime
=
CURRENT_TIME
;
switch
(
mode
&
S_IFMT
)
{
default:
...
...
@@ -300,7 +298,7 @@ static struct inode *usbfs_get_inode (struct super_block *sb, int mode, dev_t de
}
/* SMP-safe */
static
int
usbfs_mknod
(
struct
inode
*
dir
,
struct
dentry
*
dentry
,
in
t
mode
,
static
int
usbfs_mknod
(
struct
inode
*
dir
,
struct
dentry
*
dentry
,
umode_
t
mode
,
dev_t
dev
)
{
struct
inode
*
inode
=
usbfs_get_inode
(
dir
->
i_sb
,
mode
,
dev
);
...
...
@@ -317,7 +315,7 @@ static int usbfs_mknod (struct inode *dir, struct dentry *dentry, int mode,
return
error
;
}
static
int
usbfs_mkdir
(
struct
inode
*
dir
,
struct
dentry
*
dentry
,
in
t
mode
)
static
int
usbfs_mkdir
(
struct
inode
*
dir
,
struct
dentry
*
dentry
,
umode_
t
mode
)
{
int
res
;
...
...
@@ -328,7 +326,7 @@ static int usbfs_mkdir (struct inode *dir, struct dentry *dentry, int mode)
return
res
;
}
static
int
usbfs_create
(
struct
inode
*
dir
,
struct
dentry
*
dentry
,
in
t
mode
)
static
int
usbfs_create
(
struct
inode
*
dir
,
struct
dentry
*
dentry
,
umode_
t
mode
)
{
mode
=
(
mode
&
S_IALLUGO
)
|
S_IFREG
;
return
usbfs_mknod
(
dir
,
dentry
,
mode
,
0
);
...
...
@@ -489,7 +487,7 @@ static int usbfs_fill_super(struct super_block *sb, void *data, int silent)
*
* This function handles both regular files and directories.
*/
static
int
fs_create_by_name
(
const
char
*
name
,
mode_t
mode
,
static
int
fs_create_by_name
(
const
char
*
name
,
u
mode_t
mode
,
struct
dentry
*
parent
,
struct
dentry
**
dentry
)
{
int
error
=
0
;
...
...
@@ -513,7 +511,7 @@ static int fs_create_by_name (const char *name, mode_t mode,
mutex_lock
(
&
parent
->
d_inode
->
i_mutex
);
*
dentry
=
lookup_one_len
(
name
,
parent
,
strlen
(
name
));
if
(
!
IS_ERR
(
*
dentry
))
{
if
(
(
mode
&
S_IFMT
)
==
S_IFDIR
)
if
(
S_ISDIR
(
mode
)
)
error
=
usbfs_mkdir
(
parent
->
d_inode
,
*
dentry
,
mode
);
else
error
=
usbfs_create
(
parent
->
d_inode
,
*
dentry
,
mode
);
...
...
@@ -524,7 +522,7 @@ static int fs_create_by_name (const char *name, mode_t mode,
return
error
;
}
static
struct
dentry
*
fs_create_file
(
const
char
*
name
,
mode_t
mode
,
static
struct
dentry
*
fs_create_file
(
const
char
*
name
,
u
mode_t
mode
,
struct
dentry
*
parent
,
void
*
data
,
const
struct
file_operations
*
fops
,
uid_t
uid
,
gid_t
gid
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录