Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
589973a7
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 3 年多
通知
13
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
589973a7
编写于
11月 25, 2011
作者:
C
Cong Wang
提交者:
Cong Wang
3月 20, 2012
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drbd: remove the second argument of k[un]map_atomic()
Signed-off-by:
N
Cong Wang
<
amwang@redhat.com
>
上级
97d5dd12
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
7 deletion
+7
-7
drivers/block/drbd/drbd_bitmap.c
drivers/block/drbd/drbd_bitmap.c
+7
-7
未找到文件。
drivers/block/drbd/drbd_bitmap.c
浏览文件 @
589973a7
...
...
@@ -289,7 +289,7 @@ static unsigned int bm_bit_to_page_idx(struct drbd_bitmap *b, u64 bitnr)
return
page_nr
;
}
static
unsigned
long
*
__bm_map_pidx
(
struct
drbd_bitmap
*
b
,
unsigned
int
idx
,
const
enum
km_type
km
)
static
unsigned
long
*
__bm_map_pidx
(
struct
drbd_bitmap
*
b
,
unsigned
int
idx
)
{
struct
page
*
page
=
b
->
bm_pages
[
idx
];
return
(
unsigned
long
*
)
kmap_atomic
(
page
);
...
...
@@ -551,7 +551,7 @@ static unsigned long bm_count_bits(struct drbd_bitmap *b)
}
/* last (or only) page */
last_word
=
((
b
->
bm_bits
-
1
)
&
BITS_PER_PAGE_MASK
)
>>
LN2_BPL
;
p_addr
=
__bm_map_pidx
(
b
,
idx
,
KM_USER0
);
p_addr
=
__bm_map_pidx
(
b
,
idx
);
for
(
i
=
0
;
i
<
last_word
;
i
++
)
bits
+=
hweight_long
(
p_addr
[
i
]);
p_addr
[
last_word
]
&=
cpu_to_lel
(
mask
);
...
...
@@ -559,7 +559,7 @@ static unsigned long bm_count_bits(struct drbd_bitmap *b)
/* 32bit arch, may have an unused padding long */
if
(
BITS_PER_LONG
==
32
&&
(
last_word
&
1
)
==
0
)
p_addr
[
last_word
+
1
]
=
0
;
__bm_unmap
(
p_addr
,
KM_USER0
);
__bm_unmap
(
p_addr
);
return
bits
;
}
...
...
@@ -970,11 +970,11 @@ static void bm_page_io_async(struct bm_aio_ctx *ctx, int page_nr, int rw) __must
* to use pre-allocated page pool */
void
*
src
,
*
dest
;
page
=
alloc_page
(
__GFP_HIGHMEM
|
__GFP_WAIT
);
dest
=
kmap_atomic
(
page
,
KM_USER0
);
src
=
kmap_atomic
(
b
->
bm_pages
[
page_nr
]
,
KM_USER1
);
dest
=
kmap_atomic
(
page
);
src
=
kmap_atomic
(
b
->
bm_pages
[
page_nr
]);
memcpy
(
dest
,
src
,
PAGE_SIZE
);
kunmap_atomic
(
src
,
KM_USER1
);
kunmap_atomic
(
dest
,
KM_USER0
);
kunmap_atomic
(
src
);
kunmap_atomic
(
dest
);
bm_store_page_idx
(
page
,
page_nr
);
}
else
page
=
b
->
bm_pages
[
page_nr
];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录