Lines Matching refs:drives

331 static descriptor_t	**apply_filter(descriptor_t **drives, int filter[],
391 descriptor_t **drives; in drive_get_assocs() local
395 drives = (descriptor_t **)calloc(2, sizeof (descriptor_t *)); in drive_get_assocs()
396 if (drives == NULL) { in drive_get_assocs()
401 drives[0] = cache_get_desc(DM_DRIVE, desc->p.disk, NULL, NULL, errp); in drive_get_assocs()
403 cache_free_descriptors(drives); in drive_get_assocs()
407 drives[1] = NULL; in drive_get_assocs()
409 return (drives); in drive_get_assocs()
450 descriptor_t **drives; in drive_get_descriptor_by_name() local
459 drives = cache_get_descriptors(DM_DRIVE, errp); in drive_get_descriptor_by_name()
469 for (i = 0; drives[i]; i++) { in drive_get_descriptor_by_name()
470 if (drive == NULL && drives[i]->p.disk->devid != NULL && in drive_get_descriptor_by_name()
471 devid_compare(devid, drives[i]->p.disk->devid) == 0) { in drive_get_descriptor_by_name()
472 drive = drives[i]; in drive_get_descriptor_by_name()
475 cache_free_descriptor(drives[i]); in drive_get_descriptor_by_name()
478 free(drives); in drive_get_descriptor_by_name()
491 descriptor_t **drives; in drive_get_descriptors() local
493 drives = cache_get_descriptors(DM_DRIVE, errp); in drive_get_descriptors()
500 found = apply_filter(drives, filter, errp); in drive_get_descriptors()
502 drives = NULL; in drive_get_descriptors()
504 drives = found; in drive_get_descriptors()
508 return (drives); in drive_get_descriptors()
653 apply_filter(descriptor_t **drives, int filter[], int *errp) in apply_filter() argument
661 for (cnt = 0; drives[cnt]; cnt++) in apply_filter()
667 cache_free_descriptors(drives); in apply_filter()
672 for (i = 0; drives[i]; i++) { in apply_filter()
677 get_drive_type(drives[i]->p.disk, -1); in apply_filter()
681 if (drives[i]->p.disk->drv_type == filter[j]) { in apply_filter()
682 found[pos++] = drives[i]; in apply_filter()
689 cache_free_descriptor(drives[i]); in apply_filter()
693 free(drives); in apply_filter()