Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiphi1978
linux
提交
4beb1b8b
L
linux
项目概览
xiphi1978
/
linux
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4beb1b8b
编写于
3月 14, 2007
作者:
C
Chris Mason
提交者:
David Woodhouse
3月 14, 2007
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Btrfs: add leaf data casting helper
Signed-off-by:
N
Chris Mason
<
chris.mason@oracle.com
>
上级
71087494
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
8 addition
and
9 deletion
+8
-9
fs/btrfs/ctree.h
fs/btrfs/ctree.h
+4
-0
fs/btrfs/extent-tree.c
fs/btrfs/extent-tree.c
+2
-6
fs/btrfs/print-tree.c
fs/btrfs/print-tree.c
+2
-3
未找到文件。
fs/btrfs/ctree.h
浏览文件 @
4beb1b8b
...
...
@@ -401,6 +401,10 @@ static inline void btrfs_set_super_blocksize(struct btrfs_super_block *s,
s
->
blocksize
=
cpu_to_le16
(
val
);
}
/* helper function to cast into the data area of the leaf. */
#define btrfs_item_ptr(leaf, slot, type) \
((type *)((leaf)->data + btrfs_item_offset((leaf)->items + (slot))))
struct
btrfs_buffer
*
btrfs_alloc_free_block
(
struct
btrfs_root
*
root
);
int
btrfs_inc_ref
(
struct
btrfs_root
*
root
,
struct
btrfs_buffer
*
buf
);
int
btrfs_free_extent
(
struct
btrfs_root
*
root
,
u64
blocknr
,
u64
num_blocks
);
...
...
fs/btrfs/extent-tree.c
浏览文件 @
4beb1b8b
...
...
@@ -41,9 +41,7 @@ static int inc_block_ref(struct btrfs_root *root, u64 blocknr)
BUG
();
BUG_ON
(
ret
!=
0
);
l
=
&
path
.
nodes
[
0
]
->
leaf
;
item
=
(
struct
btrfs_extent_item
*
)(
l
->
data
+
btrfs_item_offset
(
l
->
items
+
path
.
slots
[
0
]));
item
=
btrfs_item_ptr
(
l
,
path
.
slots
[
0
],
struct
btrfs_extent_item
);
refs
=
btrfs_extent_refs
(
item
);
btrfs_set_extent_refs
(
item
,
refs
+
1
);
...
...
@@ -69,9 +67,7 @@ static int lookup_block_ref(struct btrfs_root *root, u64 blocknr, u32 *refs)
if
(
ret
!=
0
)
BUG
();
l
=
&
path
.
nodes
[
0
]
->
leaf
;
item
=
(
struct
btrfs_extent_item
*
)(
l
->
data
+
btrfs_item_offset
(
l
->
items
+
path
.
slots
[
0
]));
item
=
btrfs_item_ptr
(
l
,
path
.
slots
[
0
],
struct
btrfs_extent_item
);
*
refs
=
btrfs_extent_refs
(
item
);
btrfs_release_path
(
root
->
extent_root
,
&
path
);
return
0
;
...
...
fs/btrfs/print-tree.c
浏览文件 @
4beb1b8b
...
...
@@ -26,11 +26,10 @@ void btrfs_print_leaf(struct btrfs_leaf *l)
btrfs_item_size
(
item
));
printf
(
"
\t\t
item data %.*s
\n
"
,
btrfs_item_size
(
item
),
l
->
data
+
btrfs_item_offset
(
item
));
ei
=
(
struct
btrfs_extent_item
*
)(
l
->
data
+
btrfs_item_offset
(
item
));
ei
=
btrfs_item_ptr
(
l
,
i
,
struct
btrfs_extent_item
);
printf
(
"
\t\t
extent data refs %u owner %Lu
\n
"
,
btrfs_extent_refs
(
ei
),
btrfs_extent_owner
(
ei
));
ri
=
(
struct
btrfs_root_item
*
)
ei
;
ri
=
btrfs_item_ptr
(
l
,
i
,
struct
btrfs_root_item
)
;
printf
(
"
\t\t
root data blocknr %Lu refs %u
\n
"
,
btrfs_root_blocknr
(
ri
),
btrfs_root_refs
(
ri
));
fflush
(
stdout
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录