Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
622d32d3
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
622d32d3
编写于
11月 04, 2009
作者:
J
Jens Axboe
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-jens' of
git://git.drbd.org/linux-2.6-drbd
into for-2.6.33
上级
476d42f1
ed814525
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
22 addition
and
18 deletion
+22
-18
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_main.c
+3
-4
drivers/block/drbd/drbd_nl.c
drivers/block/drbd/drbd_nl.c
+9
-5
drivers/block/drbd/drbd_receiver.c
drivers/block/drbd/drbd_receiver.c
+1
-5
drivers/block/drbd/drbd_req.c
drivers/block/drbd/drbd_req.c
+6
-1
include/linux/drbd.h
include/linux/drbd.h
+1
-1
include/linux/drbd_limits.h
include/linux/drbd_limits.h
+2
-2
未找到文件。
drivers/block/drbd/drbd_main.c
浏览文件 @
622d32d3
...
...
@@ -867,10 +867,9 @@ static union drbd_state sanitize_state(struct drbd_conf *mdev, union drbd_state
}
if
(
fp
==
FP_STONITH
&&
(
ns
.
role
==
R_PRIMARY
&&
ns
.
conn
<
C_CONNECTED
&&
ns
.
pdsk
>
D_OUTDATED
))
ns
.
susp
=
1
;
(
ns
.
role
==
R_PRIMARY
&&
ns
.
conn
<
C_CONNECTED
&&
ns
.
pdsk
>
D_OUTDATED
)
&&
!
(
os
.
role
==
R_PRIMARY
&&
os
.
conn
<
C_CONNECTED
&&
os
.
pdsk
>
D_OUTDATED
))
ns
.
susp
=
1
;
if
(
ns
.
aftr_isp
||
ns
.
peer_isp
||
ns
.
user_isp
)
{
if
(
ns
.
conn
==
C_SYNC_SOURCE
)
...
...
drivers/block/drbd/drbd_nl.c
浏览文件 @
622d32d3
...
...
@@ -894,11 +894,6 @@ static int drbd_nl_disk_conf(struct drbd_conf *mdev, struct drbd_nl_cfg_req *nlp
min_md_device_sectors
=
MD_RESERVED_SECT
*
(
nbc
->
dc
.
meta_dev_idx
+
1
);
}
if
(
drbd_get_capacity
(
nbc
->
md_bdev
)
>
max_possible_sectors
)
dev_warn
(
DEV
,
"truncating very big lower level device "
"to currently maximum possible %llu sectors
\n
"
,
(
unsigned
long
long
)
max_possible_sectors
);
if
(
drbd_get_capacity
(
nbc
->
md_bdev
)
<
min_md_device_sectors
)
{
retcode
=
ERR_MD_DISK_TO_SMALL
;
dev_warn
(
DEV
,
"refusing attach: md-device too small, "
...
...
@@ -917,6 +912,15 @@ static int drbd_nl_disk_conf(struct drbd_conf *mdev, struct drbd_nl_cfg_req *nlp
nbc
->
known_size
=
drbd_get_capacity
(
nbc
->
backing_bdev
);
if
(
nbc
->
known_size
>
max_possible_sectors
)
{
dev_warn
(
DEV
,
"==> truncating very big lower level device "
"to currently maximum possible %llu sectors <==
\n
"
,
(
unsigned
long
long
)
max_possible_sectors
);
if
(
nbc
->
dc
.
meta_dev_idx
>=
0
)
dev_warn
(
DEV
,
"==>> using internal or flexible "
"meta data may help <<==
\n
"
);
}
drbd_suspend_io
(
mdev
);
/* also wait for the last barrier ack. */
wait_event
(
mdev
->
misc_wait
,
!
atomic_read
(
&
mdev
->
ap_pending_cnt
));
...
...
drivers/block/drbd/drbd_receiver.c
浏览文件 @
622d32d3
...
...
@@ -2099,7 +2099,7 @@ static int drbd_asb_recover_0p(struct drbd_conf *mdev) __must_hold(local)
break
;
}
/* Else fall through to one of the other strategies... */
dev_warn
(
DEV
,
"Discard younger/older primary did not f
ou
nd a decision
\n
"
dev_warn
(
DEV
,
"Discard younger/older primary did not f
i
nd a decision
\n
"
"Using discard-least-changes instead
\n
"
);
case
ASB_DISCARD_ZERO_CHG
:
if
(
ch_peer
==
0
&&
ch_self
==
0
)
{
...
...
@@ -3619,10 +3619,6 @@ static void drbd_disconnect(struct drbd_conf *mdev)
set_bit
(
STOP_SYNC_TIMER
,
&
mdev
->
flags
);
resync_timer_fn
((
unsigned
long
)
mdev
);
/* so we can be sure that all remote or resync reads
* made it at least to net_ee */
wait_event
(
mdev
->
misc_wait
,
!
atomic_read
(
&
mdev
->
local_cnt
));
/* wait for all w_e_end_data_req, w_e_end_rsdata_req, w_send_barrier,
* w_make_resync_request etc. which may still be on the worker queue
* to be "canceled" */
...
...
drivers/block/drbd/drbd_req.c
浏览文件 @
622d32d3
...
...
@@ -505,7 +505,7 @@ void __req_mod(struct drbd_request *req, enum drbd_req_event what,
* corresponding hlist_del is in _req_may_be_done() */
hlist_add_head
(
&
req
->
colision
,
ar_hash_slot
(
mdev
,
req
->
sector
));
set_bit
(
UNPLUG_REMOTE
,
&
mdev
->
flags
);
/* why? */
set_bit
(
UNPLUG_REMOTE
,
&
mdev
->
flags
);
D_ASSERT
(
req
->
rq_state
&
RQ_NET_PENDING
);
req
->
rq_state
|=
RQ_NET_QUEUED
;
...
...
@@ -536,6 +536,11 @@ void __req_mod(struct drbd_request *req, enum drbd_req_event what,
*
* Add req to the (now) current epoch (barrier). */
/* otherwise we may lose an unplug, which may cause some remote
* io-scheduler timeout to expire, increasing maximum latency,
* hurting performance. */
set_bit
(
UNPLUG_REMOTE
,
&
mdev
->
flags
);
/* see drbd_make_request_common,
* just after it grabs the req_lock */
D_ASSERT
(
test_bit
(
CREATE_BARRIER
,
&
mdev
->
flags
)
==
0
);
...
...
include/linux/drbd.h
浏览文件 @
622d32d3
...
...
@@ -53,7 +53,7 @@
extern
const
char
*
drbd_buildtag
(
void
);
#define REL_VERSION "8.3.
3rc2
"
#define REL_VERSION "8.3.
5
"
#define API_VERSION 88
#define PRO_VERSION_MIN 86
#define PRO_VERSION_MAX 91
...
...
include/linux/drbd_limits.h
浏览文件 @
622d32d3
...
...
@@ -70,11 +70,11 @@
/* I don't think that a tcp send buffer of more than 10M is usefull */
#define DRBD_SNDBUF_SIZE_MIN 0
#define DRBD_SNDBUF_SIZE_MAX (10<<20)
#define DRBD_SNDBUF_SIZE_DEF
(2*65535)
#define DRBD_SNDBUF_SIZE_DEF
0
#define DRBD_RCVBUF_SIZE_MIN 0
#define DRBD_RCVBUF_SIZE_MAX (10<<20)
#define DRBD_RCVBUF_SIZE_DEF
(2*65535)
#define DRBD_RCVBUF_SIZE_DEF
0
/* @4k PageSize -> 128kB - 512MB */
#define DRBD_MAX_BUFFERS_MIN 32
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录