drbd: Fix adding of new minors with freshly created meta data
authorPhilipp Reisner <philipp.reisner@linbit.com>
Wed, 23 Oct 2013 08:59:17 +0000 (10:59 +0200)
committerJens Axboe <axboe@kernel.dk>
Fri, 8 Nov 2013 16:10:28 +0000 (09:10 -0700)
commit57737adc965e45fcb03662fe6f93f6efb19e2c0a
treea29399c557d136f48d32992288f691bff0448730
parentb874d231e115af9b2c4a7ed1a4c5ae2db8a21aaf
drbd: Fix adding of new minors with freshly created meta data

Online adding of new minors with freshly created meta data
to an resource with an established connection failed, with a
wrong state transition on one side on one side of the new minor.

Freshly created meta-data has a la_size (last agreed size) of 0.
When we online add such devices, the code wrongly got into
the code path for resyncing new storage that was added while
the disk was detached.

Fixed that by making the GREW from ZERO a special case.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/drbd/drbd_int.h
drivers/block/drbd/drbd_nl.c