(u64)-1 essentially means the size is unlimited. Print as 'unlimited' as opposed to the current unsigned int range of 4294967295.
Signed-off-by: David Ahern <dsah...@gmail.com> --- devlink/devlink.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/devlink/devlink.c b/devlink/devlink.c index ba02064b848c..fa33684cb20a 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -1405,6 +1405,14 @@ static void pr_out_uint(struct dl *dl, const char *name, unsigned int val) } } +static void pr_out_u64(struct dl *dl, const char *name, uint64_t val) +{ + if (val == (uint64_t) -1) + return pr_out_str(dl, name, "unlimited"); + + return pr_out_uint(dl, name, val); +} + static void pr_out_dev(struct dl *dl, struct nlattr **tb) { pr_out_handle(dl, tb); @@ -4213,16 +4221,16 @@ static void resource_show(struct resource *resource, pr_out_str(dl, "name", resource->name); if (dl->verbose) resource_path_print(dl, ctx->resources, resource->id); - pr_out_uint(dl, "size", resource->size); + pr_out_u64(dl, "size", resource->size); if (resource->size != resource->size_new) - pr_out_uint(dl, "size_new", resource->size_new); + pr_out_u64(dl, "size_new", resource->size_new); if (resource->occ_valid) pr_out_uint(dl, "occ", resource->size_occ); pr_out_str(dl, "unit", resource_unit_str_get(resource->unit)); if (resource->size_min != resource->size_max) { pr_out_uint(dl, "size_min", resource->size_min); - pr_out_uint(dl, "size_max", resource->size_max); + pr_out_u64(dl, "size_max", resource->size_max); pr_out_uint(dl, "size_gran", resource->size_gran); } -- 2.11.0