diff options
author | Philipp Reisner | 2016-06-14 00:26:15 +0200 |
---|---|---|
committer | Jens Axboe | 2016-06-14 05:43:04 +0200 |
commit | 92d94ae66aebda5e4832d96e96b95117c44693b5 (patch) | |
tree | 08266c08a393aa5ca014d38d9813f61f74f5ae81 /drivers/block/drbd/drbd_receiver.c | |
parent | drbd: Introduce new disk config option rs-discard-granularity (diff) | |
download | kernel-qcow2-linux-92d94ae66aebda5e4832d96e96b95117c44693b5.tar.gz kernel-qcow2-linux-92d94ae66aebda5e4832d96e96b95117c44693b5.tar.xz kernel-qcow2-linux-92d94ae66aebda5e4832d96e96b95117c44693b5.zip |
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.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index f5eef97ec47d..a50cc99aaf3b 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: |