devlink: remove pointless data_len arg from region snapshot create
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>
This commit is contained in:
Родитель
1a9914884d
Коммит
3a5e523479
|
@ -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",
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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, ®ion->snapshot_list);
|
||||
|
|
Загрузка…
Ссылка в новой задаче