diff options
author | Eran Ben Elisha <eranbe@mellanox.com> | 2020-03-29 14:05:54 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-30 21:17:34 +0300 |
commit | ba7d16c7794213b591a0ea415d975858d6a7dfd8 (patch) | |
tree | 1e4c5f45594a1bc3021684087a404f011fe56f38 /net | |
parent | c7f0d4c898cb2a3b39a33813739fe4f12ac325d8 (diff) | |
download | linux-ba7d16c7794213b591a0ea415d975858d6a7dfd8.tar.xz |
devlink: Implicitly set auto recover flag when registering health reporter
When health reporter is registered to devlink, devlink will implicitly set
auto recover if and only if the reporter has a recover method. No reason
to explicitly get the auto recover flag from the driver.
Remove this flag from all drivers that called
devlink_health_reporter_create.
All existing health reporters set auto recovery to true if they have a
recover method.
Yet, administrator can unset auto recover via netlink command as prior to
this patch.
Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/devlink.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/core/devlink.c b/net/core/devlink.c index 5b968d2040a5..963d0daea10a 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5124,14 +5124,12 @@ devlink_health_reporter_find_by_name(struct devlink *devlink, * @devlink: devlink * @ops: ops * @graceful_period: to avoid recovery loops, in msecs - * @auto_recover: auto recover when error occurs * @priv: priv */ struct devlink_health_reporter * devlink_health_reporter_create(struct devlink *devlink, const struct devlink_health_reporter_ops *ops, - u64 graceful_period, bool auto_recover, - void *priv) + u64 graceful_period, void *priv) { struct devlink_health_reporter *reporter; @@ -5141,8 +5139,7 @@ devlink_health_reporter_create(struct devlink *devlink, goto unlock; } - if (WARN_ON(auto_recover && !ops->recover) || - WARN_ON(graceful_period && !ops->recover)) { + if (WARN_ON(graceful_period && !ops->recover)) { reporter = ERR_PTR(-EINVAL); goto unlock; } @@ -5157,7 +5154,7 @@ devlink_health_reporter_create(struct devlink *devlink, reporter->ops = ops; reporter->devlink = devlink; reporter->graceful_period = graceful_period; - reporter->auto_recover = auto_recover; + reporter->auto_recover = !!ops->recover; mutex_init(&reporter->dump_lock); refcount_set(&reporter->refcount, 1); list_add_tail(&reporter->list, &devlink->reporter_list); |