Lines Matching defs:dataset
54 char zd_dsname[]; /* name of the member dataset */
124 zone_dataset_lookup(zone_datasets_t *zds, const char *dataset, size_t dsnamelen)
131 if (strncmp(zd->zd_dsname, dataset, dsnamelen) == 0)
150 zone_dataset_name_check(const char *dataset, size_t *dsnamelen)
153 if (dataset[0] == '\0' || dataset[0] == '/')
156 *dsnamelen = strlen(dataset);
158 if (dataset[*dsnamelen - 1] == '/')
165 zone_dataset_attach(cred_t *cred, const char *dataset, int userns_fd)
176 if ((error = zone_dataset_name_check(dataset, &dsnamelen)) != 0)
195 zd = zone_dataset_lookup(zds, dataset, dsnamelen);
204 strlcpy(zd->zd_dsname, dataset, dsnamelen + 1);
217 zone_dataset_detach(cred_t *cred, const char *dataset, int userns_fd)
228 if ((error = zone_dataset_name_check(dataset, &dsnamelen)) != 0)
236 zd = zone_dataset_lookup(zds, dataset, dsnamelen);
266 * A dataset is visible if:
271 * A dataset is writable if:
279 zone_dataset_visible(const char *dataset, int *write)
289 if (zone_dataset_name_check(dataset, &dsnamelen) != 0)
310 * of the dataset, so it could be that the dataset is a
313 visible = memcmp(zd->zd_dsname, dataset,
321 * of the dataset, so perhaps the dataset itself is the
324 visible = memcmp(zd->zd_dsname, dataset, zd_len) == 0;
333 * of the dataset, so perhaps the dataset is a child of
336 visible = memcmp(zd->zd_dsname, dataset,
337 zd_len) == 0 && dataset[zd_len] == '/';