Lines Matching refs:errp

83 static dm_descriptor_t *ptr_array_to_desc_array(descriptor_t **ptrs, int *errp);
84 static descriptor_t **desc_array_to_ptr_array(dm_descriptor_t *da, int *errp);
86 int *found, int *errp);
221 int *errp)
234 *errp = EBADF;
241 *errp = ENODEV;
247 descs = drive_get_assoc_descriptors(dp, type, errp);
250 descs = bus_get_assoc_descriptors(dp, type, errp);
253 descs = controller_get_assoc_descriptors(dp, type, errp);
256 descs = media_get_assoc_descriptors(dp, type, errp);
259 descs = slice_get_assoc_descriptors(dp, type, errp);
262 descs = partition_get_assoc_descriptors(dp, type, errp);
265 descs = path_get_assoc_descriptors(dp, type, errp);
268 descs = alias_get_assoc_descriptors(dp, type, errp);
271 *errp = EINVAL;
277 return (ptr_array_to_desc_array(descs, errp));
306 dm_get_attributes(dm_descriptor_t desc, int *errp)
319 *errp = EBADF;
326 *errp = ENODEV;
332 attrs = drive_get_attributes(dp, errp);
335 attrs = bus_get_attributes(dp, errp);
338 attrs = controller_get_attributes(dp, errp);
341 attrs = media_get_attributes(dp, errp);
344 attrs = slice_get_attributes(dp, errp);
347 attrs = partition_get_attributes(dp, errp);
350 attrs = path_get_attributes(dp, errp);
353 attrs = alias_get_attributes(dp, errp);
356 *errp = EINVAL;
366 dm_get_descriptor_by_name(dm_desc_type_t desc_type, char *name, int *errp)
376 desc = (uintptr_t)drive_get_descriptor_by_name(name, errp);
379 desc = (uintptr_t)bus_get_descriptor_by_name(name, errp);
383 errp);
386 desc = (uintptr_t)media_get_descriptor_by_name(name, errp);
389 desc = (uintptr_t)slice_get_descriptor_by_name(name, errp);
393 errp);
396 desc = (uintptr_t)path_get_descriptor_by_name(name, errp);
399 desc = (uintptr_t)alias_get_descriptor_by_name(name, errp);
402 *errp = EINVAL;
412 dm_get_descriptors(dm_desc_type_t type, int filter[], int *errp)
422 descs = drive_get_descriptors(filter, errp);
425 descs = bus_get_descriptors(filter, errp);
428 descs = controller_get_descriptors(filter, errp);
431 descs = media_get_descriptors(filter, errp);
434 descs = slice_get_descriptors(filter, errp);
437 descs = partition_get_descriptors(filter, errp);
440 descs = path_get_descriptors(filter, errp);
443 descs = alias_get_descriptors(filter, errp);
446 *errp = EINVAL;
452 return (ptr_array_to_desc_array(descs, errp));
456 dm_get_name(dm_descriptor_t desc, int *errp)
469 *errp = EBADF;
476 *errp = ENODEV;
509 *errp = 0;
513 *errp = ENOMEM;
522 dm_get_stats(dm_descriptor_t desc, int stat_type, int *errp)
535 *errp = EBADF;
542 *errp = ENODEV;
548 stats = drive_get_stats(dp, stat_type, errp);
551 stats = bus_get_stats(dp, stat_type, errp);
554 stats = controller_get_stats(dp, stat_type, errp);
557 stats = media_get_stats(dp, stat_type, errp);
571 stats = slice_get_stats(dp, stat_type, errp);
574 stats = partition_get_stats(dp, stat_type, errp);
577 stats = path_get_stats(dp, stat_type, errp);
580 stats = alias_get_stats(dp, stat_type, errp);
583 *errp = EINVAL;
616 dm_get_slices(char *drive, dm_descriptor_t **slices, int *errp)
623 *errp = 0;
629 alias = dm_get_descriptor_by_name(DM_ALIAS, drive, errp);
637 disk = dm_get_associated_descriptors(alias, DM_DRIVE, errp);
641 DM_MEDIA, errp);
645 DM_SLICE, errp);
655 dm_get_slice_stats(char *slice, nvlist_t **dev_stats, int *errp)
660 *errp = 0;
670 devp = dm_get_descriptor_by_name(DM_SLICE, slice, errp);
673 errp);
684 dm_isoverlapping(char *slicename, char **overlaps_with, int *errp)
699 slice = dm_get_descriptor_by_name(DM_SLICE, slicename, errp);
707 media = dm_get_associated_descriptors(slice, DM_MEDIA, errp);
708 if (media == NULL || *media == NULL || *errp != 0)
711 slices = dm_get_associated_descriptors(*media, DM_SLICE, errp);
712 if (slices == NULL || *slices == NULL || *errp != 0)
715 media_attrs = dm_get_attributes(*media, errp);
716 if (media_attrs == NULL || *errp)
719 *errp = nvlist_lookup_uint64(media_attrs, DM_NACCESSIBLE, &media_size);
720 if (*errp != 0)
723 slice_attrs = dm_get_attributes(slice, errp);
724 if (slice_attrs == NULL || *errp != 0)
727 *errp = nvlist_lookup_uint64(slice_attrs, DM_START, &start_block);
728 if (*errp != 0)
731 *errp = nvlist_lookup_uint64(slice_attrs, DM_SIZE, &size);
732 if (*errp != 0)
735 *errp = nvlist_lookup_uint32(slice_attrs, DM_INDEX, &in_snum);
736 if (*errp != 0)
747 nvlist_t *other_attrs = dm_get_attributes(slices[i], errp);
752 if (*errp != 0)
755 *errp = nvlist_lookup_uint64(other_attrs, DM_START,
757 if (*errp) {
762 *errp = nvlist_lookup_uint64(other_attrs, DM_SIZE,
765 if (*errp) {
773 *errp = nvlist_lookup_uint32(other_attrs, DM_INDEX,
776 if (*errp) {
801 char *str = dm_get_name(slices[i], errp);
802 if (*errp != 0) {
819 char *str = dm_get_name(slices[i], errp);
820 if (*errp != 0) {
858 dm_get_swapentries(swaptbl_t **stp, int *errp)
868 *errp = errno;
879 *errp = ENOMEM;
885 *errp = ENOMEM;
900 *errp = errno;
924 dm_inuse_swap(const char *dev_name, int *errp)
930 *errp = 0;
932 count = dm_get_swapentries(&tbl, errp);
933 if (count < 0 || *errp) {
1009 dm_inuse_impl(char *dev_blk_name, char **msg, dm_who_type_t who, int *errp)
1019 *errp = 0;
1040 if (ANY_ZPOOL_USE(who) && (err = dm_inuse_swap(dev_blk_name, errp))) {
1042 /* on error, dm_inuse_swap sets errp */
1049 msg, &found, errp);
1057 dm_get_slice_stats(dev_blk_name, &dev_stats, errp);
1106 by, data, msg, &found, errp) != 0) {
1107 if (*errp) {
1130 by, data, msg, &found, errp) != 0) {
1131 if (*errp) {
1148 by, data, msg, &found, errp)) {
1149 if (*errp) {
1160 by, data, msg, &found, errp) != 0) {
1161 if (*errp) {
1177 by, data, msg, &found, errp) != 0) {
1178 if (*errp)
1186 data, msg, &found, errp) != 0) {
1187 if (*errp)
1211 if (*errp == ENODEV)
1212 *errp = 0;
1221 int *errp)
1227 err = dm_inuse_impl(dev_blk_name, &pmsg, who, errp);
1228 if (*errp)
1241 *errp = errno;
1255 dm_inuse_impl_check_slice_overlap(char *dev_blk_name, char **msg, int *errp)
1263 err = dm_isoverlapping(dev_blk_name, &overlaps_with, errp);
1264 if (*errp)
1282 *errp = errno;
1295 int *errp)
1304 part_format = drive_get_part_format_by_name(dev_blk_name, errp);
1311 return (dm_inuse_impl(dev_blk_name, msg, who, errp));
1335 er = dm_inuse_impl_check_slice(slice, msg, who, errp);
1343 err = dm_inuse_impl_check_slice(dev_blk_name, msg, who, errp);
1344 if (*errp)
1363 err = dm_inuse_impl_check_slice(slice, msg, who, errp);
1364 if (*errp)
1373 errp);
1374 if (*errp)
1382 dm_inuse(char *dev_name, char **msg, dm_who_type_t who, int *errp)
1387 *errp = 0;
1405 found = dm_inuse_impl_check_slices(dev_blk_name, msg, who, errp);
1477 libdiskmgt_add_str(nvlist_t *attrs, char *name, char *val, int *errp)
1479 if (*errp == 0) {
1480 *errp = nvlist_add_string(attrs, name, val);
1485 libdiskmgt_empty_desc_array(int *errp)
1491 *errp = ENOMEM;
1496 *errp = 0;
1543 desc_array_to_ptr_array(dm_descriptor_t *descs, int *errp)
1558 *errp = ENOMEM;
1565 *errp = 0;
1574 ptr_array_to_desc_array(descriptor_t **ptrs, int *errp)
1584 if (*errp != 0 || ptrs == NULL) {
1593 *errp = ENOMEM;
1600 *errp = 0;
1614 int *found, int *errp)
1621 *errp = 0;
1642 *errp = errno;