]> git.baikalelectronics.ru Git - kernel.git/commit
devlink: report error once U32_MAX snapshot ids have been used
authorJacob Keller <jacob.e.keller@intel.com>
Thu, 26 Mar 2020 18:37:14 +0000 (11:37 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Mar 2020 02:39:26 +0000 (19:39 -0700)
commit26334522483d1c445814af1ce8d5b3220c61c066
tree004a1abb6579426f71960fac61ac2b70be1595b4
parent975ef1cddc2353e9bfbf5abdf584b3e76e2aad06
devlink: report error once U32_MAX snapshot ids have been used

The devlink_snapshot_id_get() function returns a snapshot id. The
snapshot id is a u32, so there is no way to indicate an error code.

A future change is going to possibly add additional cases where this
function could fail. Refactor the function to return the snapshot id in
an argument, so that it can return zero or an error value.

This ensures that snapshot ids cannot be confused with error values, and
aids in the future refactor of snapshot id allocation management.

Because there is no current way to release previously used snapshot ids,
add a simple check ensuring that an error is reported in case the
snapshot_id would over flow.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/crdump.c
drivers/net/netdevsim/dev.c
include/net/devlink.h
net/core/devlink.c