devlink: remove pointless data_len arg from region snapshot create
authorJiri Pirko <jiri@mellanox.com>
Fri, 9 Aug 2019 13:27:15 +0000 (15:27 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Aug 2019 18:21:46 +0000 (11:21 -0700)
The size of the snapshot has to be the same as the size of the region,
therefore no need to pass it again during snapshot creation. Remove the
arg and use region->size instead.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/crdump.c
include/net/devlink.h
net/core/devlink.c

index 88316c7..eaf08f7 100644 (file)
@@ -99,8 +99,7 @@ static void mlx4_crdump_collect_crspace(struct mlx4_dev *dev,
                                        readl(cr_space + offset);
 
                err = devlink_region_snapshot_create(crdump->region_crspace,
-                                                    cr_res_size, crspace_data,
-                                                    id, &kvfree);
+                                                    crspace_data, id, &kvfree);
                if (err) {
                        kvfree(crspace_data);
                        mlx4_warn(dev, "crdump: devlink create %s snapshot id %d err %d\n",
@@ -139,9 +138,7 @@ static void mlx4_crdump_collect_fw_health(struct mlx4_dev *dev,
                                        readl(health_buf_start + offset);
 
                err = devlink_region_snapshot_create(crdump->region_fw_health,
-                                                    HEALTH_BUFFER_SIZE,
-                                                    health_data,
-                                                    id, &kvfree);
+                                                    health_data, id, &kvfree);
                if (err) {
                        kvfree(health_data);
                        mlx4_warn(dev, "crdump: devlink create %s snapshot id %d err %d\n",
index bc36f94..451268f 100644 (file)
@@ -702,7 +702,7 @@ struct devlink_region *devlink_region_create(struct devlink *devlink,
                                             u64 region_size);
 void devlink_region_destroy(struct devlink_region *region);
 u32 devlink_region_shapshot_id_get(struct devlink *devlink);
-int devlink_region_snapshot_create(struct devlink_region *region, u64 data_len,
+int devlink_region_snapshot_create(struct devlink_region *region,
                                   u8 *data, u32 snapshot_id,
                                   devlink_snapshot_data_dest_t *data_destructor);
 int devlink_info_serial_number_put(struct devlink_info_req *req,
index 4f40aea..e8f0b89 100644 (file)
@@ -342,7 +342,6 @@ struct devlink_snapshot {
        struct list_head list;
        struct devlink_region *region;
        devlink_snapshot_data_dest_t *data_destructor;
-       u64 data_len;
        u8 *data;
        u32 id;
 };
@@ -3748,8 +3747,8 @@ static int devlink_nl_region_read_snapshot_fill(struct sk_buff *skb,
        if (!snapshot)
                return -EINVAL;
 
-       if (end_offset > snapshot->data_len || dump)
-               end_offset = snapshot->data_len;
+       if (end_offset > region->size || dump)
+               end_offset = region->size;
 
        while (curr_offset < end_offset) {
                u32 data_size;
@@ -6784,12 +6783,11 @@ EXPORT_SYMBOL_GPL(devlink_region_shapshot_id_get);
  *     The @snapshot_id should be obtained using the getter function.
  *
  *     @region: devlink region of the snapshot
- *     @data_len: size of snapshot data
  *     @data: snapshot data
  *     @snapshot_id: snapshot id to be created
  *     @data_destructor: pointer to destructor function to free data
  */
-int devlink_region_snapshot_create(struct devlink_region *region, u64 data_len,
+int devlink_region_snapshot_create(struct devlink_region *region,
                                   u8 *data, u32 snapshot_id,
                                   devlink_snapshot_data_dest_t *data_destructor)
 {
@@ -6819,7 +6817,6 @@ int devlink_region_snapshot_create(struct devlink_region *region, u64 data_len,
        snapshot->id = snapshot_id;
        snapshot->region = region;
        snapshot->data = data;
-       snapshot->data_len = data_len;
        snapshot->data_destructor = data_destructor;
 
        list_add_tail(&snapshot->list, &region->snapshot_list);