Print this page
patch tsoome-feedback


3463 
3464         if (rctlcount == 0) {
3465                 error = 0;
3466                 goto out;
3467         }
3468         if (nvlist_pack(nvl, &nvl_packed, &nvl_size, NV_ENCODE_NATIVE, 0)
3469             != 0) {
3470                 zerror(zlogp, B_FALSE, "%s failed", "nvlist_pack");
3471                 goto out;
3472         }
3473 
3474         error = 0;
3475         *bufp = nvl_packed;
3476         *bufsizep = nvl_size;
3477 
3478 out:
3479         free(rctlblk);
3480         zonecfg_free_rctl_value_list(rctltab.zone_rctl_valptr);
3481         if (error && nvl_packed != NULL)
3482                 free(nvl_packed);
3483         if (nvl != NULL)
3484                 nvlist_free(nvl);
3485         if (nvlv != NULL)
3486                 free(nvlv);
3487         if (handle != NULL)
3488                 zonecfg_fini_handle(handle);
3489         return (error);
3490 }
3491 
3492 static int
3493 get_implicit_datasets(zlog_t *zlogp, char **retstr)
3494 {
3495         char cmdbuf[2 * MAXPATHLEN];
3496 
3497         if (query_hook[0] == '\0')
3498                 return (0);
3499 
3500         if (snprintf(cmdbuf, sizeof (cmdbuf), "%s datasets", query_hook)
3501             > sizeof (cmdbuf))
3502                 return (-1);
3503 




3463 
3464         if (rctlcount == 0) {
3465                 error = 0;
3466                 goto out;
3467         }
3468         if (nvlist_pack(nvl, &nvl_packed, &nvl_size, NV_ENCODE_NATIVE, 0)
3469             != 0) {
3470                 zerror(zlogp, B_FALSE, "%s failed", "nvlist_pack");
3471                 goto out;
3472         }
3473 
3474         error = 0;
3475         *bufp = nvl_packed;
3476         *bufsizep = nvl_size;
3477 
3478 out:
3479         free(rctlblk);
3480         zonecfg_free_rctl_value_list(rctltab.zone_rctl_valptr);
3481         if (error && nvl_packed != NULL)
3482                 free(nvl_packed);

3483         nvlist_free(nvl);
3484         if (nvlv != NULL)
3485                 free(nvlv);
3486         if (handle != NULL)
3487                 zonecfg_fini_handle(handle);
3488         return (error);
3489 }
3490 
3491 static int
3492 get_implicit_datasets(zlog_t *zlogp, char **retstr)
3493 {
3494         char cmdbuf[2 * MAXPATHLEN];
3495 
3496         if (query_hook[0] == '\0')
3497                 return (0);
3498 
3499         if (snprintf(cmdbuf, sizeof (cmdbuf), "%s datasets", query_hook)
3500             > sizeof (cmdbuf))
3501                 return (-1);
3502