Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
3aac2b62
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看板
提交
3aac2b62
编写于
6月 07, 2010
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
switch udf to ->evict_inode()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
d640e1b5
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
21 addition
and
35 deletion
+21
-35
fs/udf/ialloc.c
fs/udf/ialloc.c
+0
-2
fs/udf/inode.c
fs/udf/inode.c
+19
-29
fs/udf/super.c
fs/udf/super.c
+1
-2
fs/udf/udfdecl.h
fs/udf/udfdecl.h
+1
-2
未找到文件。
fs/udf/ialloc.c
浏览文件 @
3aac2b62
...
...
@@ -31,8 +31,6 @@ void udf_free_inode(struct inode *inode)
struct
super_block
*
sb
=
inode
->
i_sb
;
struct
udf_sb_info
*
sbi
=
UDF_SB
(
sb
);
clear_inode
(
inode
);
mutex_lock
(
&
sbi
->
s_alloc_mutex
);
if
(
sbi
->
s_lvid_bh
)
{
struct
logicalVolIntegrityDescImpUse
*
lvidiu
=
...
...
fs/udf/inode.c
浏览文件 @
3aac2b62
...
...
@@ -68,37 +68,23 @@ static void udf_update_extents(struct inode *,
static
int
udf_get_block
(
struct
inode
*
,
sector_t
,
struct
buffer_head
*
,
int
);
void
udf_delete_inode
(
struct
inode
*
inode
)
{
truncate_inode_pages
(
&
inode
->
i_data
,
0
);
if
(
is_bad_inode
(
inode
))
goto
no_delete
;
inode
->
i_size
=
0
;
udf_truncate
(
inode
);
lock_kernel
();
udf_update_inode
(
inode
,
IS_SYNC
(
inode
));
udf_free_inode
(
inode
);
unlock_kernel
();
return
;
no_delete:
clear_inode
(
inode
);
}
/*
* If we are going to release inode from memory, we truncate last inode extent
* to proper length. We could use drop_inode() but it's called under inode_lock
* and thus we cannot mark inode dirty there. We use clear_inode() but we have
* to make sure to write inode as it's not written automatically.
*/
void
udf_clear_inode
(
struct
inode
*
inode
)
void
udf_evict_inode
(
struct
inode
*
inode
)
{
struct
udf_inode_info
*
iinfo
=
UDF_I
(
inode
);
int
want_delete
=
0
;
truncate_inode_pages
(
&
inode
->
i_data
,
0
);
if
(
!
inode
->
i_nlink
&&
!
is_bad_inode
(
inode
))
{
want_delete
=
1
;
inode
->
i_size
=
0
;
udf_truncate
(
inode
);
lock_kernel
();
udf_update_inode
(
inode
,
IS_SYNC
(
inode
));
unlock_kernel
();
}
invalidate_inode_buffers
(
inode
);
end_writeback
(
inode
);
if
(
iinfo
->
i_alloc_type
!=
ICBTAG_FLAG_AD_IN_ICB
&&
inode
->
i_size
!=
iinfo
->
i_lenExtents
)
{
printk
(
KERN_WARNING
"UDF-fs (%s): Inode %lu (mode %o) has "
...
...
@@ -108,9 +94,13 @@ void udf_clear_inode(struct inode *inode)
(
unsigned
long
long
)
inode
->
i_size
,
(
unsigned
long
long
)
iinfo
->
i_lenExtents
);
}
kfree
(
iinfo
->
i_ext
.
i_data
);
iinfo
->
i_ext
.
i_data
=
NULL
;
if
(
want_delete
)
{
lock_kernel
();
udf_free_inode
(
inode
);
unlock_kernel
();
}
}
static
int
udf_writepage
(
struct
page
*
page
,
struct
writeback_control
*
wbc
)
...
...
fs/udf/super.c
浏览文件 @
3aac2b62
...
...
@@ -175,8 +175,7 @@ static const struct super_operations udf_sb_ops = {
.
alloc_inode
=
udf_alloc_inode
,
.
destroy_inode
=
udf_destroy_inode
,
.
write_inode
=
udf_write_inode
,
.
delete_inode
=
udf_delete_inode
,
.
clear_inode
=
udf_clear_inode
,
.
evict_inode
=
udf_evict_inode
,
.
put_super
=
udf_put_super
,
.
sync_fs
=
udf_sync_fs
,
.
statfs
=
udf_statfs
,
...
...
fs/udf/udfdecl.h
浏览文件 @
3aac2b62
...
...
@@ -139,8 +139,7 @@ extern struct buffer_head *udf_expand_dir_adinicb(struct inode *, int *, int *);
extern
struct
buffer_head
*
udf_bread
(
struct
inode
*
,
int
,
int
,
int
*
);
extern
void
udf_truncate
(
struct
inode
*
);
extern
void
udf_read_inode
(
struct
inode
*
);
extern
void
udf_delete_inode
(
struct
inode
*
);
extern
void
udf_clear_inode
(
struct
inode
*
);
extern
void
udf_evict_inode
(
struct
inode
*
);
extern
int
udf_write_inode
(
struct
inode
*
,
struct
writeback_control
*
wbc
);
extern
long
udf_block_map
(
struct
inode
*
,
sector_t
);
extern
int
udf_extend_file
(
struct
inode
*
,
struct
extent_position
*
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录