]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drbd: Add struct drbd_device->resource
authorAndreas Gruenbacher <agruen@linbit.com>
Wed, 8 Jun 2011 23:38:00 +0000 (01:38 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Mon, 17 Feb 2014 15:44:55 +0000 (16:44 +0100)
Signed-off-by: Andreas Gruenbacher <agruen@linbit.com>
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
drivers/block/drbd/drbd_int.h
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_nl.c

index b51ecdbdd30c9a547f03c89c951840a39de02844..b66f908e724e5a2f4f4d108884511b082621b028 100644 (file)
@@ -631,6 +631,7 @@ struct drbd_peer_device {
 };
 
 struct drbd_device {
+       struct drbd_resource *resource;
        struct list_head peer_devices;
        int vnr;                        /* volume number within the connection */
        struct kref kref;
index f13d836e76a690e5a4ba197b712db7e013f7288b..bf559adc21be5a831fe29ee8fc51121c85f487ab 100644 (file)
@@ -2681,6 +2681,7 @@ enum drbd_ret_code drbd_create_minor(struct drbd_connection *connection, unsigne
        INIT_LIST_HEAD(&device->peer_devices);
        list_add(&peer_device->peer_devices, &device->peer_devices);
        kref_get(&connection->kref);
+       device->resource = connection->resource;
        peer_device->connection = connection;
        peer_device->device = device;
 
index ddff39182a23784ded047107f3a13fc22a71aa8f..f563feb479b7abb41d8af56009a3e283c482abc8 100644 (file)
@@ -251,7 +251,7 @@ static int drbd_adm_prepare(struct sk_buff *skb, struct genl_info *info,
            first_peer_device(adm_ctx.device)->connection != adm_ctx.connection) {
                pr_warning("request: minor=%u, resource=%s; but that minor belongs to connection %s\n",
                                adm_ctx.minor, adm_ctx.resource_name,
-                               first_peer_device(adm_ctx.device)->connection->resource->name);
+                               adm_ctx.device->resource->name);
                drbd_msg_put_info("minor exists in different resource");
                return ERR_INVALID_REQUEST;
        }
@@ -261,7 +261,7 @@ static int drbd_adm_prepare(struct sk_buff *skb, struct genl_info *info,
                pr_warning("request: minor=%u, volume=%u; but that minor is volume %u in %s\n",
                                adm_ctx.minor, adm_ctx.volume,
                                adm_ctx.device->vnr,
-                               first_peer_device(adm_ctx.device)->connection->resource->name);
+                               adm_ctx.device->resource->name);
                drbd_msg_put_info("minor exists as different volume");
                return ERR_INVALID_REQUEST;
        }