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 b51ecdb..b66f908 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 f13d836..bf559ad 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 ddff391..f563feb 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;
        }