aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2009-11-26 03:46:51 -0500
committerJens Axboe <jens.axboe@oracle.com>2009-11-26 03:46:51 -0500
commit75e7b634309ef4eabf8a93d36e58863f727fa209 (patch)
tree6ad097218bd4510fb5b59fa29b654bd7c596bfbb
parentd9449ce35a1e8fb58dd2d419f9215562a14ecca0 (diff)
parent35a8a3fdcd4f973a5430e868f2f2a5c363803a5b (diff)
Merge branch 'for-jens' of git://git.drbd.org/linux-2.6-drbd into for-2.6.33
-rw-r--r--drivers/block/drbd/drbd_nl.c2
-rw-r--r--drivers/block/drbd/drbd_receiver.c5
-rw-r--r--include/linux/connector.h2
-rw-r--r--include/linux/drbd.h9
4 files changed, 8 insertions, 10 deletions
diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c
index e2a5875a07b1..436a090b532b 100644
--- a/drivers/block/drbd/drbd_nl.c
+++ b/drivers/block/drbd/drbd_nl.c
@@ -733,7 +733,7 @@ void drbd_setup_queue_param(struct drbd_conf *mdev, unsigned int max_seg_s) __mu
733 */ 733 */
734static void drbd_reconfig_start(struct drbd_conf *mdev) 734static void drbd_reconfig_start(struct drbd_conf *mdev)
735{ 735{
736 wait_event(mdev->state_wait, test_and_set_bit(CONFIG_PENDING, &mdev->flags)); 736 wait_event(mdev->state_wait, !test_and_set_bit(CONFIG_PENDING, &mdev->flags));
737 wait_event(mdev->state_wait, !test_bit(DEVICE_DYING, &mdev->flags)); 737 wait_event(mdev->state_wait, !test_bit(DEVICE_DYING, &mdev->flags));
738 drbd_thread_start(&mdev->worker); 738 drbd_thread_start(&mdev->worker);
739} 739}
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 9bbc509443e5..c548f24f54a1 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -2400,6 +2400,7 @@ static int drbd_uuid_compare(struct drbd_conf *mdev, int *rule_nr) __must_hold(l
2400 2400
2401 2401
2402 *rule_nr = 80; 2402 *rule_nr = 80;
2403 peer = mdev->p_uuid[UI_CURRENT] & ~((u64)1);
2403 for (i = UI_HISTORY_START; i <= UI_HISTORY_END; i++) { 2404 for (i = UI_HISTORY_START; i <= UI_HISTORY_END; i++) {
2404 self = mdev->ldev->md.uuid[i] & ~((u64)1); 2405 self = mdev->ldev->md.uuid[i] & ~((u64)1);
2405 if (self == peer) 2406 if (self == peer)
@@ -3499,8 +3500,10 @@ static void drbdd(struct drbd_conf *mdev)
3499 3500
3500 while (get_t_state(&mdev->receiver) == Running) { 3501 while (get_t_state(&mdev->receiver) == Running) {
3501 drbd_thread_current_set_cpu(mdev); 3502 drbd_thread_current_set_cpu(mdev);
3502 if (!drbd_recv_header(mdev, header)) 3503 if (!drbd_recv_header(mdev, header)) {
3504 drbd_force_state(mdev, NS(conn, C_PROTOCOL_ERROR));
3503 break; 3505 break;
3506 }
3504 3507
3505 if (header->command < P_MAX_CMD) 3508 if (header->command < P_MAX_CMD)
3506 handler = drbd_cmd_handler[header->command]; 3509 handler = drbd_cmd_handler[header->command];
diff --git a/include/linux/connector.h b/include/linux/connector.h
index 3a14615fd35c..72ba63eb83c5 100644
--- a/include/linux/connector.h
+++ b/include/linux/connector.h
@@ -43,6 +43,8 @@
43#define CN_DST_VAL 0x1 43#define CN_DST_VAL 0x1
44#define CN_IDX_DM 0x7 /* Device Mapper */ 44#define CN_IDX_DM 0x7 /* Device Mapper */
45#define CN_VAL_DM_USERSPACE_LOG 0x1 45#define CN_VAL_DM_USERSPACE_LOG 0x1
46#define CN_IDX_DRBD 0x8
47#define CN_VAL_DRBD 0x1
46 48
47#define CN_NETLINK_USERS 8 49#define CN_NETLINK_USERS 8
48 50
diff --git a/include/linux/drbd.h b/include/linux/drbd.h
index 18942ad115d9..e84f4733cb55 100644
--- a/include/linux/drbd.h
+++ b/include/linux/drbd.h
@@ -53,7 +53,7 @@
53 53
54 54
55extern const char *drbd_buildtag(void); 55extern const char *drbd_buildtag(void);
56#define REL_VERSION "8.3.5" 56#define REL_VERSION "8.3.6"
57#define API_VERSION 88 57#define API_VERSION 88
58#define PRO_VERSION_MIN 86 58#define PRO_VERSION_MIN 86
59#define PRO_VERSION_MAX 91 59#define PRO_VERSION_MAX 91
@@ -322,13 +322,6 @@ enum drbd_timeout_flag {
322#define DRBD_NL_CREATE_DEVICE 0x01 322#define DRBD_NL_CREATE_DEVICE 0x01
323#define DRBD_NL_SET_DEFAULTS 0x02 323#define DRBD_NL_SET_DEFAULTS 0x02
324 324
325/* The following line should be moved over to linux/connector.h
326 * when the time comes */
327#ifndef CN_IDX_DRBD
328# define CN_IDX_DRBD 0x4
329/* Ubuntu "intrepid ibex" release defined CN_IDX_DRBD as 0x6 */
330#endif
331#define CN_VAL_DRBD 0x1
332 325
333/* For searching a vacant cn_idx value */ 326/* For searching a vacant cn_idx value */
334#define CN_IDX_STEP 6977 327#define CN_IDX_STEP 6977