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 88316c7438208bc84fd42fc3234df41133998941..eaf08f7ad12843b661ce6cb0571ab3ab81e0871b 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 bc36f942a7d533e66d39394a91df3e62606517bb..451268f64880497853fe0cb7017ecf514f566a66 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 4f40aeace9022672b86662176e55fd61de7430d1..e8f0b891f000d0de241e1fce76dd705757567f11 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);