Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
4f48280e
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
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看板
提交
4f48280e
编写于
4月 24, 2010
作者:
S
Sage Weil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ceph: name msgpools; useful error messages
Signed-off-by:
N
Sage Weil
<
sage@newdream.net
>
上级
8c6efb58
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
16 addition
and
7 deletion
+16
-7
fs/ceph/msgpool.c
fs/ceph/msgpool.c
+9
-4
fs/ceph/msgpool.h
fs/ceph/msgpool.h
+3
-1
fs/ceph/osd_client.c
fs/ceph/osd_client.c
+4
-2
未找到文件。
fs/ceph/msgpool.c
浏览文件 @
4f48280e
...
...
@@ -10,8 +10,12 @@
static
void
*
alloc_fn
(
gfp_t
gfp_mask
,
void
*
arg
)
{
struct
ceph_msgpool
*
pool
=
arg
;
void
*
p
;
return
ceph_msg_new
(
0
,
pool
->
front_len
);
p
=
ceph_msg_new
(
0
,
pool
->
front_len
);
if
(
!
p
)
pr_err
(
"msgpool %s alloc failed
\n
"
,
pool
->
name
);
return
p
;
}
static
void
free_fn
(
void
*
element
,
void
*
arg
)
...
...
@@ -20,12 +24,13 @@ static void free_fn(void *element, void *arg)
}
int
ceph_msgpool_init
(
struct
ceph_msgpool
*
pool
,
int
front_len
,
int
size
,
bool
blocking
)
int
front_len
,
int
size
,
bool
blocking
,
const
char
*
name
)
{
pool
->
front_len
=
front_len
;
pool
->
pool
=
mempool_create
(
size
,
alloc_fn
,
free_fn
,
pool
);
if
(
!
pool
->
pool
)
return
-
ENOMEM
;
pool
->
name
=
name
;
return
0
;
}
...
...
@@ -38,8 +43,8 @@ struct ceph_msg *ceph_msgpool_get(struct ceph_msgpool *pool,
int
front_len
)
{
if
(
front_len
>
pool
->
front_len
)
{
pr_err
(
"msgpool_get pool %
p
need front %d, pool size is %d
\n
"
,
pool
,
front_len
,
pool
->
front_len
);
pr_err
(
"msgpool_get pool %
s
need front %d, pool size is %d
\n
"
,
pool
->
name
,
front_len
,
pool
->
front_len
);
WARN_ON
(
1
);
/* try to alloc a fresh message */
...
...
fs/ceph/msgpool.h
浏览文件 @
4f48280e
...
...
@@ -9,12 +9,14 @@
* avoid unexpected OOM conditions.
*/
struct
ceph_msgpool
{
const
char
*
name
;
mempool_t
*
pool
;
int
front_len
;
/* preallocated payload size */
};
extern
int
ceph_msgpool_init
(
struct
ceph_msgpool
*
pool
,
int
front_len
,
int
size
,
bool
blocking
);
int
front_len
,
int
size
,
bool
blocking
,
const
char
*
name
);
extern
void
ceph_msgpool_destroy
(
struct
ceph_msgpool
*
pool
);
extern
struct
ceph_msg
*
ceph_msgpool_get
(
struct
ceph_msgpool
*
,
int
front_len
);
...
...
fs/ceph/osd_client.c
浏览文件 @
4f48280e
...
...
@@ -1214,11 +1214,13 @@ int ceph_osdc_init(struct ceph_osd_client *osdc, struct ceph_client *client)
if
(
!
osdc
->
req_mempool
)
goto
out
;
err
=
ceph_msgpool_init
(
&
osdc
->
msgpool_op
,
OSD_OP_FRONT_LEN
,
10
,
true
);
err
=
ceph_msgpool_init
(
&
osdc
->
msgpool_op
,
OSD_OP_FRONT_LEN
,
10
,
true
,
"osd_op"
);
if
(
err
<
0
)
goto
out_mempool
;
err
=
ceph_msgpool_init
(
&
osdc
->
msgpool_op_reply
,
OSD_OPREPLY_FRONT_LEN
,
10
,
true
);
OSD_OPREPLY_FRONT_LEN
,
10
,
true
,
"osd_op_reply"
);
if
(
err
<
0
)
goto
out_msgpool
;
return
0
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录