mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 18:59:33 +03:00
zpool: max_width: monomorphise subtype iteration
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #13413
This commit is contained in:
parent
de82164518
commit
e9072c76f8
@ -1987,40 +1987,21 @@ static int
|
||||
max_width(zpool_handle_t *zhp, nvlist_t *nv, int depth, int max,
|
||||
int name_flags)
|
||||
{
|
||||
char *name;
|
||||
nvlist_t **child;
|
||||
uint_t c, children;
|
||||
int ret;
|
||||
|
||||
name = zpool_vdev_name(g_zfs, zhp, nv, name_flags);
|
||||
if (strlen(name) + depth > max)
|
||||
max = strlen(name) + depth;
|
||||
static const char *const subtypes[] =
|
||||
{ZPOOL_CONFIG_SPARES, ZPOOL_CONFIG_L2CACHE, ZPOOL_CONFIG_CHILDREN};
|
||||
|
||||
char *name = zpool_vdev_name(g_zfs, zhp, nv, name_flags);
|
||||
max = MAX(strlen(name) + depth, max);
|
||||
free(name);
|
||||
|
||||
if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_SPARES,
|
||||
&child, &children) == 0) {
|
||||
for (c = 0; c < children; c++)
|
||||
if ((ret = max_width(zhp, child[c], depth + 2,
|
||||
max, name_flags)) > max)
|
||||
max = ret;
|
||||
}
|
||||
|
||||
if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_L2CACHE,
|
||||
&child, &children) == 0) {
|
||||
for (c = 0; c < children; c++)
|
||||
if ((ret = max_width(zhp, child[c], depth + 2,
|
||||
max, name_flags)) > max)
|
||||
max = ret;
|
||||
}
|
||||
|
||||
if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN,
|
||||
&child, &children) == 0) {
|
||||
for (c = 0; c < children; c++)
|
||||
if ((ret = max_width(zhp, child[c], depth + 2,
|
||||
max, name_flags)) > max)
|
||||
max = ret;
|
||||
}
|
||||
nvlist_t **child;
|
||||
uint_t children;
|
||||
for (size_t i = 0; i < ARRAY_SIZE(subtypes); ++i)
|
||||
if (nvlist_lookup_nvlist_array(nv, subtypes[i],
|
||||
&child, &children) == 0)
|
||||
for (uint_t c = 0; c < children; ++c)
|
||||
max = MAX(max_width(zhp, child[c], depth + 2,
|
||||
max, name_flags), max);
|
||||
|
||||
return (max);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user