Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
c45ec656
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c45ec656
编写于
2月 22, 2006
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
上级
102d60a2
fa675765
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
31 addition
and
3 deletion
+31
-3
Documentation/feature-removal-schedule.txt
Documentation/feature-removal-schedule.txt
+9
-0
fs/super.c
fs/super.c
+14
-1
include/linux/kobject.h
include/linux/kobject.h
+4
-2
lib/kobject_uevent.c
lib/kobject_uevent.c
+4
-0
未找到文件。
Documentation/feature-removal-schedule.txt
浏览文件 @
c45ec656
...
...
@@ -171,3 +171,12 @@ Why: The ISA interface is faster and should be always available. The I2C
probing is also known to cause trouble in at least one case (see
bug #5889.)
Who: Jean Delvare <khali@linux-fr.org>
---------------------------
What: mount/umount uevents
When: February 2007
Why: These events are not correct, and do not properly let userspace know
when a file system has been mounted or unmounted. Userspace should
poll the /proc/mounts file instead to detect this properly.
Who: Greg Kroah-Hartman <gregkh@suse.de>
fs/super.c
浏览文件 @
c45ec656
...
...
@@ -666,6 +666,16 @@ static int test_bdev_super(struct super_block *s, void *data)
return
(
void
*
)
s
->
s_bdev
==
data
;
}
static
void
bdev_uevent
(
struct
block_device
*
bdev
,
enum
kobject_action
action
)
{
if
(
bdev
->
bd_disk
)
{
if
(
bdev
->
bd_part
)
kobject_uevent
(
&
bdev
->
bd_part
->
kobj
,
action
);
else
kobject_uevent
(
&
bdev
->
bd_disk
->
kobj
,
action
);
}
}
struct
super_block
*
get_sb_bdev
(
struct
file_system_type
*
fs_type
,
int
flags
,
const
char
*
dev_name
,
void
*
data
,
int
(
*
fill_super
)(
struct
super_block
*
,
void
*
,
int
))
...
...
@@ -707,8 +717,10 @@ struct super_block *get_sb_bdev(struct file_system_type *fs_type,
up_write
(
&
s
->
s_umount
);
deactivate_super
(
s
);
s
=
ERR_PTR
(
error
);
}
else
}
else
{
s
->
s_flags
|=
MS_ACTIVE
;
bdev_uevent
(
bdev
,
KOBJ_MOUNT
);
}
}
return
s
;
...
...
@@ -724,6 +736,7 @@ void kill_block_super(struct super_block *sb)
{
struct
block_device
*
bdev
=
sb
->
s_bdev
;
bdev_uevent
(
bdev
,
KOBJ_UMOUNT
);
generic_shutdown_super
(
sb
);
sync_blockdev
(
bdev
);
close_bdev_excl
(
bdev
);
...
...
include/linux/kobject.h
浏览文件 @
c45ec656
...
...
@@ -41,8 +41,10 @@ enum kobject_action {
KOBJ_ADD
=
(
__force
kobject_action_t
)
0x01
,
/* exclusive to core */
KOBJ_REMOVE
=
(
__force
kobject_action_t
)
0x02
,
/* exclusive to core */
KOBJ_CHANGE
=
(
__force
kobject_action_t
)
0x03
,
/* device state change */
KOBJ_OFFLINE
=
(
__force
kobject_action_t
)
0x04
,
/* device offline */
KOBJ_ONLINE
=
(
__force
kobject_action_t
)
0x05
,
/* device online */
KOBJ_MOUNT
=
(
__force
kobject_action_t
)
0x04
,
/* mount event for block devices (broken) */
KOBJ_UMOUNT
=
(
__force
kobject_action_t
)
0x05
,
/* umount event for block devices (broken) */
KOBJ_OFFLINE
=
(
__force
kobject_action_t
)
0x06
,
/* device offline */
KOBJ_ONLINE
=
(
__force
kobject_action_t
)
0x07
,
/* device online */
};
struct
kobject
{
...
...
lib/kobject_uevent.c
浏览文件 @
c45ec656
...
...
@@ -38,6 +38,10 @@ static char *action_to_string(enum kobject_action action)
return
"remove"
;
case
KOBJ_CHANGE
:
return
"change"
;
case
KOBJ_MOUNT
:
return
"mount"
;
case
KOBJ_UMOUNT
:
return
"umount"
;
case
KOBJ_OFFLINE
:
return
"offline"
;
case
KOBJ_ONLINE
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录