drbd: Fix resource role for newly created resources in events2
authorPhilipp Reisner <philipp.reisner@linbit.com>
Tue, 29 Aug 2017 08:20:37 +0000 (10:20 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 29 Aug 2017 21:34:44 +0000 (15:34 -0600)
The conn_higest_role() (a terribly misnamed function) returns
the role of the resource. It returned R_UNKNOWN as long as the
resource has not a single device.

Resources without devices are short living objects.

But it matters for the NOTIFY_CREATE netwlink message. It makes
a lot more sense to report R_SECONDARY for the newly created
resource than R_UNKNOWN.

I reviewd all call sites of conn_highest_role(), that change
does not matter for the other call sites.

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_state.c

index eea0c4aec9789efc4d7e561e03a569278147e159..306f11646629202397a1601b7abf733e48e7a351 100644 (file)
@@ -346,7 +346,7 @@ static enum drbd_role min_role(enum drbd_role role1, enum drbd_role role2)
 
 enum drbd_role conn_highest_role(struct drbd_connection *connection)
 {
-       enum drbd_role role = R_UNKNOWN;
+       enum drbd_role role = R_SECONDARY;
        struct drbd_peer_device *peer_device;
        int vnr;