summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_receiver.c
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2016-06-14 00:26:15 +0200
committerJens Axboe <axboe@fb.com>2016-06-13 21:43:04 -0600
commit92d94ae66aebda5e4832d96e96b95117c44693b5 (patch)
tree08266c08a393aa5ca014d38d9813f61f74f5ae81 /drivers/block/drbd/drbd_receiver.c
parenta5ca66c419410b4a26ab47b120d5424bd1d33700 (diff)
downloadop-kernel-dev-92d94ae66aebda5e4832d96e96b95117c44693b5.zip
op-kernel-dev-92d94ae66aebda5e4832d96e96b95117c44693b5.tar.gz
drbd: Create the protocol feature THIN_RESYNC
If thinly provisioned volumes are used, during a resync the sync source tries to find out if a block is deallocated. If it is deallocated, then the resync target uses block_dev_issue_zeroout() on the range in question. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/block/drbd/drbd_receiver.c')
-rw-r--r--drivers/block/drbd/drbd_receiver.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index f5eef97..a50cc99 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -48,7 +48,7 @@
#include "drbd_req.h"
#include "drbd_vli.h"
-#define PRO_FEATURES (FF_TRIM)
+#define PRO_FEATURES (FF_TRIM | FF_THIN_RESYNC)
struct packet_info {
enum drbd_packet cmd;
@@ -4991,6 +4991,9 @@ static int drbd_do_features(struct drbd_connection *connection)
drbd_info(connection, "Agreed to%ssupport TRIM on protocol level\n",
connection->agreed_features & FF_TRIM ? " " : " not ");
+ drbd_info(connection, "Agreed to%ssupport THIN_RESYNC on protocol level\n",
+ connection->agreed_features & FF_THIN_RESYNC ? " " : " not ");
+
return 1;
incompat:
OpenPOWER on IntegriCloud