mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Fix column alignment with long zpool names
`zpool status` normally aligns NAME/STATE/etc columns:
NAME STATE READ WRITE CKSUM
dummy ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
/tmp/dummy-long-1.bin ONLINE 0 0 0
/tmp/dummy-long-2.bin ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
/tmp/dummy-long-3.bin ONLINE 0 0 0
/tmp/dummy-long-4.bin ONLINE 0 0 0
However, if the zpool name is longer than the zvol names, alignment
issues arise:
NAME STATE READ WRITE CKSUM
dummy-very-very-long-zpool-name ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
/tmp/dummy-1.bin ONLINE 0 0 0
/tmp/dummy-2.bin ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
/tmp/dummy-3.bin ONLINE 0 0 0
/tmp/dummy-4.bin ONLINE 0 0 0
`zpool iostat` and `zpool import` are also affected:
capacity operations bandwidth
pool alloc free read write read write
---------- ----- ----- ----- ----- ----- -----
dummy 104K 1.97G 0 0 152 9.84K
dummy-very-very-long-zpool-name 152K 1.97G 0 1 144 13.1K
---------- ----- ----- ----- ----- ----- -----
dummy-very-very-long-zpool-name ONLINE
mirror-0 ONLINE
/tmp/dummy-1.bin ONLINE
/tmp/dummy-2.bin ONLINE
mirror-1 ONLINE
/tmp/dummy-3.bin ONLINE
/tmp/dummy-4.bin ONLINE
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: George Gaydarov <git@gg7.io>
Closes #6786
This commit is contained in:
@@ -2211,7 +2211,8 @@ show_import(nvlist_t *config)
|
||||
|
||||
(void) printf(gettext(" config:\n\n"));
|
||||
|
||||
cb.cb_namewidth = max_width(NULL, nvroot, 0, 0, VDEV_NAME_TYPE_ID);
|
||||
cb.cb_namewidth = max_width(NULL, nvroot, 0, strlen(name),
|
||||
VDEV_NAME_TYPE_ID);
|
||||
if (cb.cb_namewidth < 10)
|
||||
cb.cb_namewidth = 10;
|
||||
|
||||
@@ -3901,7 +3902,7 @@ get_namewidth(zpool_handle_t *zhp, void *data)
|
||||
&nvroot) == 0);
|
||||
unsigned int poolname_len = strlen(zpool_get_name(zhp));
|
||||
if (!cb->cb_verbose)
|
||||
cb->cb_namewidth = poolname_len;
|
||||
cb->cb_namewidth = MAX(poolname_len, cb->cb_namewidth);
|
||||
else
|
||||
cb->cb_namewidth = MAX(poolname_len,
|
||||
max_width(zhp, nvroot, 0, cb->cb_namewidth,
|
||||
|
||||
Reference in New Issue
Block a user