Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
3dda13a8
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
3dda13a8
编写于
1月 04, 2017
作者:
D
David Sterba
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'misc-4.10' into for-chris-4.10-20170104
上级
2939e1a8
c2931667
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
26 addition
and
10 deletion
+26
-10
fs/btrfs/extent-tree.c
fs/btrfs/extent-tree.c
+6
-2
fs/btrfs/inode.c
fs/btrfs/inode.c
+9
-2
fs/btrfs/tree-log.c
fs/btrfs/tree-log.c
+10
-3
fs/btrfs/uuid-tree.c
fs/btrfs/uuid-tree.c
+1
-3
未找到文件。
fs/btrfs/extent-tree.c
浏览文件 @
3dda13a8
...
...
@@ -2522,11 +2522,11 @@ static noinline int __btrfs_run_delayed_refs(struct btrfs_trans_handle *trans,
if
(
ref
&&
ref
->
seq
&&
btrfs_check_delayed_seq
(
fs_info
,
delayed_refs
,
ref
->
seq
))
{
spin_unlock
(
&
locked_ref
->
lock
);
btrfs_delayed_ref_unlock
(
locked_ref
);
spin_lock
(
&
delayed_refs
->
lock
);
locked_ref
->
processing
=
0
;
delayed_refs
->
num_heads_ready
++
;
spin_unlock
(
&
delayed_refs
->
lock
);
btrfs_delayed_ref_unlock
(
locked_ref
);
locked_ref
=
NULL
;
cond_resched
();
count
++
;
...
...
@@ -2572,7 +2572,10 @@ static noinline int __btrfs_run_delayed_refs(struct btrfs_trans_handle *trans,
*/
if
(
must_insert_reserved
)
locked_ref
->
must_insert_reserved
=
1
;
spin_lock
(
&
delayed_refs
->
lock
);
locked_ref
->
processing
=
0
;
delayed_refs
->
num_heads_ready
++
;
spin_unlock
(
&
delayed_refs
->
lock
);
btrfs_debug
(
fs_info
,
"run_delayed_extent_op returned %d"
,
ret
);
...
...
@@ -7384,7 +7387,8 @@ btrfs_lock_cluster(struct btrfs_block_group_cache *block_group,
spin_unlock
(
&
cluster
->
refill_lock
);
down_read
(
&
used_bg
->
data_rwsem
);
/* We should only have one-level nested. */
down_read_nested
(
&
used_bg
->
data_rwsem
,
SINGLE_DEPTH_NESTING
);
spin_lock
(
&
cluster
->
refill_lock
);
if
(
used_bg
==
cluster
->
block_group
)
...
...
fs/btrfs/inode.c
浏览文件 @
3dda13a8
...
...
@@ -7623,11 +7623,18 @@ static void adjust_dio_outstanding_extents(struct inode *inode,
* within our reservation, otherwise we need to adjust our inode
* counter appropriately.
*/
if
(
dio_data
->
outstanding_extents
)
{
if
(
dio_data
->
outstanding_extents
>=
num_extents
)
{
dio_data
->
outstanding_extents
-=
num_extents
;
}
else
{
/*
* If dio write length has been split due to no large enough
* contiguous space, we need to compensate our inode counter
* appropriately.
*/
u64
num_needed
=
num_extents
-
dio_data
->
outstanding_extents
;
spin_lock
(
&
BTRFS_I
(
inode
)
->
lock
);
BTRFS_I
(
inode
)
->
outstanding_extents
+=
num_
extents
;
BTRFS_I
(
inode
)
->
outstanding_extents
+=
num_
needed
;
spin_unlock
(
&
BTRFS_I
(
inode
)
->
lock
);
}
}
...
...
fs/btrfs/tree-log.c
浏览文件 @
3dda13a8
...
...
@@ -37,6 +37,7 @@
*/
#define LOG_INODE_ALL 0
#define LOG_INODE_EXISTS 1
#define LOG_OTHER_INODE 2
/*
* directory trouble cases
...
...
@@ -4641,7 +4642,7 @@ static int btrfs_log_inode(struct btrfs_trans_handle *trans,
if
(
S_ISDIR
(
inode
->
i_mode
)
||
(
!
test_bit
(
BTRFS_INODE_NEEDS_FULL_SYNC
,
&
BTRFS_I
(
inode
)
->
runtime_flags
)
&&
inode_only
=
=
LOG_INODE_EXISTS
))
inode_only
>
=
LOG_INODE_EXISTS
))
max_key
.
type
=
BTRFS_XATTR_ITEM_KEY
;
else
max_key
.
type
=
(
u8
)
-
1
;
...
...
@@ -4665,7 +4666,13 @@ static int btrfs_log_inode(struct btrfs_trans_handle *trans,
return
ret
;
}
mutex_lock
(
&
BTRFS_I
(
inode
)
->
log_mutex
);
if
(
inode_only
==
LOG_OTHER_INODE
)
{
inode_only
=
LOG_INODE_EXISTS
;
mutex_lock_nested
(
&
BTRFS_I
(
inode
)
->
log_mutex
,
SINGLE_DEPTH_NESTING
);
}
else
{
mutex_lock
(
&
BTRFS_I
(
inode
)
->
log_mutex
);
}
/*
* a brute force approach to making sure we get the most uptodate
...
...
@@ -4817,7 +4824,7 @@ static int btrfs_log_inode(struct btrfs_trans_handle *trans,
* unpin it.
*/
err
=
btrfs_log_inode
(
trans
,
root
,
other_inode
,
LOG_
INODE_EXISTS
,
LOG_
OTHER_INODE
,
0
,
LLONG_MAX
,
ctx
);
iput
(
other_inode
);
if
(
err
)
...
...
fs/btrfs/uuid-tree.c
浏览文件 @
3dda13a8
...
...
@@ -352,7 +352,5 @@ int btrfs_uuid_tree_iterate(struct btrfs_fs_info *fs_info,
out:
btrfs_free_path
(
path
);
if
(
ret
)
btrfs_warn
(
fs_info
,
"btrfs_uuid_tree_iterate failed %d"
,
ret
);
return
0
;
return
ret
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录