7e1e97ef29
1 OBS-URL: https://build.opensuse.org/request/show/318290 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/drbd?expand=0&rev=44
66 lines
2.2 KiB
Diff
66 lines
2.2 KiB
Diff
From b831a988370d6b6e2c989c40736155d529be3273 Mon Sep 17 00:00:00 2001
|
|
From: Nick Wang <nwang@suse.com>
|
|
Date: Fri, 10 Jul 2015 18:15:07 +0800
|
|
Subject: [Patch v2 05/10] drbd: Functions to notify peer node to zero out
|
|
|
|
Notify peer node to start zeroing out device.
|
|
Update state of peer node when both nodes are
|
|
finished zeroing.
|
|
|
|
Signed-off-by: Nick Wang <nwang@suse.com>
|
|
CC: Philipp Reisner <philipp.reisner@linbit.com>
|
|
CC: Lars Ellenberg <lars.ellenberg@linbit.com>
|
|
CC: drbd-dev@lists.linbit.com
|
|
CC: linux-kernel@vger.kernel.org
|
|
---
|
|
drbd/drbd_int.h | 2 ++
|
|
drbd/drbd_main.c | 19 +++++++++++++++++++
|
|
2 files changed, 21 insertions(+)
|
|
|
|
diff --git a/drbd/drbd_int.h b/drbd/drbd_int.h
|
|
index 014b65e..f43f957 100644
|
|
--- a/drbd/drbd_int.h
|
|
+++ b/drbd/drbd_int.h
|
|
@@ -1208,6 +1208,8 @@ extern int __drbd_send_protocol(struct drbd_connection *connection, enum drbd_pa
|
|
extern int drbd_send_protocol(struct drbd_connection *connection);
|
|
extern int drbd_send_uuids(struct drbd_peer_device *);
|
|
extern int drbd_send_uuids_skip_initial_sync(struct drbd_peer_device *);
|
|
+extern int drbd_send_zero_out_start(struct drbd_peer_device *);
|
|
+extern int drbd_send_zero_out_finish(struct drbd_peer_device *);
|
|
extern int drbd_send_zero_out_ok(struct drbd_peer_device *);
|
|
extern int drbd_send_zero_out_fail(struct drbd_peer_device *);
|
|
extern void drbd_gen_and_send_sync_uuid(struct drbd_peer_device *);
|
|
diff --git a/drbd/drbd_main.c b/drbd/drbd_main.c
|
|
index 740015e..2b821cd 100644
|
|
--- a/drbd/drbd_main.c
|
|
+++ b/drbd/drbd_main.c
|
|
@@ -908,6 +908,25 @@ int drbd_send_uuids_skip_initial_sync(struct drbd_peer_device *peer_device)
|
|
return _drbd_send_uuids(peer_device, 8);
|
|
}
|
|
|
|
+
|
|
+/**
|
|
+ * drbd_send_zero_out_start() - Notify peer node to start zero out
|
|
+ * @peer_device: DRBD peer device.
|
|
+ */
|
|
+int drbd_send_zero_out_start(struct drbd_peer_device *peer_device)
|
|
+{
|
|
+ return _drbd_send_uuids(peer_device, 16);
|
|
+}
|
|
+
|
|
+/**
|
|
+ * drbd_send_zero_out_finish() - Notify both node finished zeroing out
|
|
+ * @peer_device: DRBD peer device.
|
|
+ */
|
|
+int drbd_send_zero_out_finish(struct drbd_peer_device *peer_device)
|
|
+{
|
|
+ return _drbd_send_uuids(peer_device, 32);
|
|
+}
|
|
+
|
|
/**
|
|
* _drbd_send_zero_out_state() - Sends the drbd state to the peer
|
|
* @peer_device: DRBD peer device.
|
|
--
|
|
1.8.4.5
|
|
|