Lines Matching defs:zds
113 zone_datasets_t *zds;
115 list_for_each_entry(zds, &zone_datasets, zds_list) {
116 if (user_ns_zoneid(zds->zds_userns) == nsinum)
117 return (zds);
124 zone_dataset_lookup(zone_datasets_t *zds, const char *dataset, size_t dsnamelen)
128 list_for_each_entry(zd, &zds->zds_datasets, zd_list) {
169 zone_datasets_t *zds;
182 zds = zone_datasets_lookup(user_ns_zoneid(userns));
183 if (zds == NULL) {
184 zds = kmem_alloc(sizeof (zone_datasets_t), KM_SLEEP);
185 INIT_LIST_HEAD(&zds->zds_list);
186 INIT_LIST_HEAD(&zds->zds_datasets);
187 zds->zds_userns = userns;
193 list_add_tail(&zds->zds_list, &zone_datasets);
195 zd = zone_dataset_lookup(zds, dataset, dsnamelen);
206 list_add_tail(&zd->zd_list, &zds->zds_datasets);
221 zone_datasets_t *zds;
234 zds = zone_datasets_lookup(user_ns_zoneid(userns));
235 if (zds != NULL)
236 zd = zone_dataset_lookup(zds, dataset, dsnamelen);
237 if (zds == NULL || zd == NULL) {
246 if (list_empty(&zds->zds_datasets)) {
253 list_del(&zds->zds_list);
254 kmem_free(zds, sizeof (*zds));
281 zone_datasets_t *zds;
298 zds = zone_datasets_lookup(crgetzoneid(curproc->cred));
299 if (zds == NULL) {
305 list_for_each_entry(zd, &zds->zds_datasets, zd_list) {
399 zone_datasets_t *zds;
409 zds = list_entry(zone_datasets.next, zone_datasets_t, zds_list);
410 while (!list_empty(&zds->zds_datasets)) {
411 zd = list_entry(zds->zds_datasets.next,
416 put_user_ns(zds->zds_userns);
417 list_del(&zds->zds_list);
418 kmem_free(zds, sizeof (*zds));