/illumos-gate/usr/src/lib/libzfs_jni/common/ |
H A D | libzfs_jni_diskmgt.c | 45 static void remove_slice_from_list(dmgt_slice_t **slices, int index); 138 /* Get free slices */ 139 dp->slices = 249 * Gets the slices for the given disk. 253 * 1. Success: error is set to 0 and slices are returned 261 dm_descriptor_t *slices; local 265 slices = dm_get_associated_descriptors(media, DM_SLICE, error); 267 handle_error("could not get slices of disk %s", name); 274 slices != NULL && slices[ 319 remove_slice_from_list(dmgt_slice_t **slices, int index) argument 365 dmgt_slice_t **slices = get_disk_slices(media, name, blocksize, error); local [all...] |
H A D | libzfs_jni_disk.c | 54 jobjectArray slices = create_SliceDeviceBean_array(env, local 55 dp->slices); 56 if (slices != NULL) { 71 constructor, dp->size, nameUTF, aliases, slices, 158 create_SliceDeviceBean_array(JNIEnv *env, dmgt_slice_t **slices) argument 165 if (slices != NULL) { 167 for (i = 0; slices[i] != NULL; i++) { 168 dmgt_slice_t *slice = slices[i];
|
H A D | libzfs_jni_diskmgt.h | 61 dmgt_slice_t **slices; member in struct:dmgt_disk
|
/illumos-gate/usr/src/cmd/format/ |
H A D | checkdev.c | 283 dm_descriptor_t *slices = NULL; local 341 dm_get_slices(cur_disk_path, &slices, &error); 353 if (slices == NULL) 356 for (i = 0; slices[i] != NULL; i++) { 363 name = dm_get_name(slices[i], &error); 392 dm_free_descriptors(slices); 402 * checking modifications for in use slices 417 attrs = dm_get_attributes(slices[i], &error); 437 name = dm_get_name(slices[i], &error); 469 dm_free_descriptors(slices); [all...] |
/illumos-gate/usr/src/cmd/lvm/metassist/layout/ |
H A D | layout_concat.c | 356 * capacity using slices on disks in the input list. 376 dlist_t *slices = NULL; local 385 ((error = disks_get_avail_slices(request, disks, &slices)) != 0) || 388 dlist_free_items(slices, NULL); 394 if (slices == NULL) { 430 error = choose_slice((nbytes-capacity), npaths, slices, comps, 444 slices = dlist_remove_equivalent_item(slices, (void *) comp, 469 dlist_free_items(slices, NULL);
|
H A D | layout.c | 78 * slices is the list of modified slices on the disk 83 dlist_t *slices; member in struct:__anon831 580 * 2. once a disk is in the disk set, existing slices 581 * may be resized or new slices can be added. 614 moddisk->slices = NULL; 694 * updated to include modified disks and slices as 700 * PURPOSE: Helper to add devconfig_t structs for disks and slices 710 * Modified slices for disks in the disk set are added as well. 729 /* collect removed slices fo [all...] |
H A D | layout_slice.h | 41 * struct to track which slices need to be explicitly "removed" from 54 * struct to track which slices have been explicitly modified 58 * space (this is only relevant to slices that have been created by 62 * (this is only relevant to slices that have been resized to 63 * provide space for new slices) 96 dlist_t *slices, 123 * accessors to track slices reserved for use in explicit
|
H A D | layout_discovery.c | 55 * "bad" slices are those that are known to libdiskmgt but 105 * The slice_class struct is used to group slices by usage class. 184 * virtual slices... 191 * multipathed disks have aliases, as do slices on those disks. 309 * private list of used slices. 645 * known - a pointer to a dlist_t list to hold the known slices 646 * bad - a pointer to a dlist_t to hold the bad slices 651 * PURPOSE: Examines input list of known disks and determines the slices 654 * Some slices returned from libdiskmgt may not really exist, 656 * the slice -- ENODEV is returned. Any such slices wil 672 dlist_t *slices = NULL; local 1090 dlist_t *slices; local 1259 dlist_t *slices = NULL; local 2166 dlist_t *slices = NULL; local [all...] |
H A D | layout_request.h | 65 * get list of HBAs, disks or slices that are available 76 dlist_t **slices);
|
H A D | layout_device_util.c | 100 /* utilities for slices */ 112 * Virtual slices are created to represent slices that will be 114 * diskset. For the purposes of layout, these slices must 115 * look & function just as real slices that are currently on 516 * Only slices, disks and HBAs should have display names. 564 * PURPOSE: Collect all of the known slices for the input disk. 566 * These slices may be actual slices which currently exist 567 * on the disk, or virtual slices whic 599 dm_descriptor_t *slices = NULL; local 805 dlist_t *slices = NULL; local 1123 uint64_t *slices = NULL; local 1178 uint64_t *slices = NULL; local 1267 dlist_t *slices = NULL; local [all...] |
H A D | layout_stripe.c | 446 * components and aggregate capacity using slices on disks 472 dlist_t *slices = NULL; local 479 ((error = disks_get_avail_slices(request, disks, &slices)) != 0) || 488 if (slices == NULL) { 515 * need to select 'ncomp' slices that are at least 'rsize' 537 error = choose_slice(rsize, npaths, slices, comps, 557 slices = dlist_remove_equivalent_item(slices, (void *) comp, 575 dlist_free_items(slices, NULL); 706 * component slices chose [all...] |
H A D | layout_hsp.c | 384 * Determine the available HBAs, disks, and slices. 387 * Filter the available slices and remove those that are 392 * to select one from the available slices. 414 dlist_t *avail = NULL; /* available slices */ 415 dlist_t *slices = NULL; /* avail slices of sufficient size */ local 416 dlist_t *unique = NULL; /* volume slices that need spares */ 418 dlist_t *newspares = NULL; /* slices to add to HSP */ 443 /* all slices have been consumed by the devices */ 445 gettext(" no available slices t [all...] |
H A D | layout_request.c | 1276 * Only disk slices that are in the usable slice list and not 1340 * dlist_t *disks, dlist_t **slices) 1345 * slices - pointer to an output list of disks 1362 dlist_t **slices) 1368 *slices = NULL; 1413 *slices = dlist_append(item, *slices, AT_TAIL); 1420 dlist_free_items(*slices, NULL); 1421 *slices = NULL; 2669 /* only slices an 1359 disks_get_avail_slices( devconfig_t *request, dlist_t *disks, dlist_t **slices) argument [all...] |
H A D | layout_slice.c | 108 * list to track resized slices 113 * struct to track used slices and their disks... 121 * list to of usedslice_t to track slices that have been 131 * list of slices reserved to be used for explicit 137 * list of slices needing to be removed (zeroed out) prior to 146 * dlist_t *slices, 157 * *slices - slices from which to choose 158 * *used - slices used by the volume under construction 189 * The function scans the available slices an 203 choose_slice( uint64_t nbytes, uint16_t npaths, dlist_t *slices, dlist_t *used, dlist_t *used_hbas, dlist_t *used_disks, boolean_t unused_disk, boolean_t nbytes_is_min, boolean_t add_extra_cyl, devconfig_t **chosen) argument 1220 pick_from_best_hba_and_disk( dlist_t *slices, dlist_t *used, dm_descriptor_t *chosen) argument [all...] |
/illumos-gate/usr/src/lib/libdiskmgt/common/ |
H A D | entry.c | 495 * Returns, via slices paramater, a dm_descriptor_t list of 496 * slices for the named disk drive. 499 dm_get_slices(char *drive, dm_descriptor_t **slices, int *errp) argument 505 *slices = NULL; 527 *slices = dm_get_associated_descriptors(*media, 562 * Checks for overlapping slices. If the given device is a slice, and it 571 dm_descriptor_t *slices = NULL; local 587 * Get the list of slices be fetching the associated media, and then all 588 * associated slices. 594 slices [all...] |
H A D | slice.c | 101 * For media, just get the slices, but for a partition, it must be a solaris 520 * Some extra attrs for cluster slices. 627 descriptor_t **slices; local 645 /* count the number of slices */ 650 slices = (descriptor_t **)calloc(cnt + 1, sizeof (descriptor_t *)); 651 if (slices == NULL) { 693 slices[pos] = cache_get_desc(DM_SLICE, desc->p.disk, devpath, 696 cache_free_descriptors(slices); 704 slices[pos] = NULL; 711 return (slices); [all...] |
H A D | libdiskmgt.h | 194 * controllers, media, slices, partitions, paths and buses. The descriptors are 443 void dm_get_slices(char *drive, dm_descriptor_t **slices,
|
/illumos-gate/usr/src/cmd/availdevs/ |
H A D | availdevs.c | 89 if (dp->slices != NULL) { 90 for (i = 0; dp->slices[i] != NULL; i++) { 91 dmgt_slice_t *sp = dp->slices[i];
|
/illumos-gate/usr/src/uts/sun4u/serengeti/sys/ |
H A D | sbdp_priv.h | 124 int *slices; variable
|
/illumos-gate/usr/src/uts/sun4v/io/ |
H A D | vds.c | 453 dev_t dev[V_NUMPAR]; /* dev numbers for slices */ 455 uint_t nslices; /* number of slices we export */ 478 vd_slice_t slices[VD_MAXPART]; /* logical partitions */ member in struct:vd 806 if (blk >= vd->slices[slice].nblocks) { 809 blk, vd->slices[slice].nblocks); 813 offset = (vd->slices[slice].start + blk) * DEV_BSIZE; 814 maxlen = (vd->slices[slice].nblocks - blk) * DEV_BSIZE; 830 * s0 instead s2) the system can try to access slices that 1174 *blkp = vd->slices[vd->efi_reserved].start; 3178 bzero(vd->slices, sizeo [all...] |