4966 zpool list iterator does not update output
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Christopher Siden <christopher.siden@delphix.com> Reviewed by: Dan McDonald <danmcd@omniti.com> Approved by: Garrett D'Amore <garrett@damore.org> illumos/illumos-gate@cd67d23d32
This commit is contained in:
parent
31074d9a86
commit
cec4501421
@ -2930,17 +2930,10 @@ zpool_do_list(int argc, char **argv)
|
||||
if (zprop_get_list(g_zfs, props, &cb.cb_proplist, ZFS_TYPE_POOL) != 0)
|
||||
usage(B_FALSE);
|
||||
|
||||
if ((list = pool_list_get(argc, argv, &cb.cb_proplist, &ret)) == NULL)
|
||||
return (1);
|
||||
|
||||
if (argc == 0 && !cb.cb_scripted && pool_list_count(list) == 0) {
|
||||
(void) printf(gettext("no pools available\n"));
|
||||
zprop_free_list(cb.cb_proplist);
|
||||
return (0);
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
pool_list_update(list);
|
||||
if ((list = pool_list_get(argc, argv, &cb.cb_proplist,
|
||||
&ret)) == NULL)
|
||||
return (1);
|
||||
|
||||
if (pool_list_count(list) == 0)
|
||||
break;
|
||||
@ -2963,9 +2956,16 @@ zpool_do_list(int argc, char **argv)
|
||||
if (count != 0 && --count == 0)
|
||||
break;
|
||||
|
||||
pool_list_free(list);
|
||||
(void) sleep(interval);
|
||||
}
|
||||
|
||||
if (argc == 0 && !cb.cb_scripted && pool_list_count(list) == 0) {
|
||||
(void) printf(gettext("no pools available\n"));
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
pool_list_free(list);
|
||||
zprop_free_list(cb.cb_proplist);
|
||||
return (ret);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user