Lines Matching refs:vd

75 	vdisk_info_t *vd;  in vdisk_get_info()  local
77 STAILQ_FOREACH(vd, &vdisk_list, vdisk_link) { in vdisk_get_info()
78 if (vd->vdisk_unit == dev->d_unit) in vdisk_get_info()
79 return (vd); in vdisk_get_info()
81 return (vd); in vdisk_get_info()
89 vdisk_info_t *vd, *p; in command_mapvd() local
97 STAILQ_FOREACH(vd, &vdisk_list, vdisk_link) { in command_mapvd()
98 if (strcmp(vd->vdisk_path, argv[1]) == 0) { in command_mapvd()
101 vd->vdisk_unit); in command_mapvd()
126 vd = calloc(1, sizeof (*vd)); in command_mapvd()
127 if (vd == NULL) { in command_mapvd()
131 vd->vdisk_path = strdup(argv[1]); in command_mapvd()
132 if (vd->vdisk_path == NULL) { in command_mapvd()
133 free (vd); in command_mapvd()
137 vd->vdisk_fd = open(vd->vdisk_path, O_RDONLY); in command_mapvd()
138 if (vd->vdisk_fd < 0) { in command_mapvd()
140 free(vd->vdisk_path); in command_mapvd()
141 free(vd); in command_mapvd()
145 vd->vdisk_size = sb.st_size; in command_mapvd()
146 vd->vdisk_sectorsz = DEV_BSIZE; in command_mapvd()
149 if (p->vdisk_unit == vd->vdisk_unit) { in command_mapvd()
150 vd->vdisk_unit++; in command_mapvd()
154 if (p->vdisk_unit < vd->vdisk_unit) { in command_mapvd()
157 STAILQ_INSERT_TAIL(&vdisk_list, vd, vdisk_link); in command_mapvd()
160 if (n->vdisk_unit > vd->vdisk_unit) { in command_mapvd()
162 STAILQ_INSERT_AFTER(&vdisk_list, p, vd, in command_mapvd()
167 vd->vdisk_unit++; in command_mapvd()
171 STAILQ_INSERT_HEAD(&vdisk_list, vd, vdisk_link); in command_mapvd()
177 STAILQ_INSERT_TAIL(&vdisk_list, vd, vdisk_link); in command_mapvd()
179 printf("%s: file %s is mapped as %s%d\n", argv[0], vd->vdisk_path, in command_mapvd()
180 vdisk_dev.dv_name, vd->vdisk_unit); in command_mapvd()
193 vdisk_info_t *vd; in command_unmapvd() local
214 STAILQ_FOREACH(vd, &vdisk_list, vdisk_link) { in command_unmapvd()
215 if (vd->vdisk_unit == unit) in command_unmapvd()
219 if (vd == NULL) { in command_unmapvd()
224 if (vd->vdisk_open != 0) { in command_unmapvd()
230 STAILQ_REMOVE(&vdisk_list, vd, vdisk_info, vdisk_link); in command_unmapvd()
231 (void) close(vd->vdisk_fd); in command_unmapvd()
232 printf("%s (%s) unmapped\n", argv[1], vd->vdisk_path); in command_unmapvd()
233 free(vd->vdisk_path); in command_unmapvd()
234 free(vd); in command_unmapvd()
251 vdisk_info_t *vd; in vdisk_strategy() local
257 vd = vdisk_get_info((struct devdesc *)dev); in vdisk_strategy()
258 if (vd == NULL) in vdisk_strategy()
267 offset = dev->d_offset * vd->vdisk_sectorsz; in vdisk_strategy()
271 if (lseek(vd->vdisk_fd, blk << 9, SEEK_SET) == -1) in vdisk_strategy()
277 rv = read(vd->vdisk_fd, buf, size); in vdisk_strategy()
280 rv = write(vd->vdisk_fd, buf, size); in vdisk_strategy()
297 vdisk_info_t *vd; in vdisk_open() local
305 vd = vdisk_get_info((struct devdesc *)dev); in vdisk_open()
306 if (vd == NULL) in vdisk_open()
310 rc = disk_open(dev, vd->vdisk_size, vd->vdisk_sectorsz); in vdisk_open()
313 vd->vdisk_open++; in vdisk_open()
321 vdisk_info_t *vd; in vdisk_close() local
326 vd = vdisk_get_info((struct devdesc *)dev); in vdisk_close()
327 if (vd == NULL) in vdisk_close()
330 vd->vdisk_open--; in vdisk_close()
340 vdisk_info_t *vd; in vdisk_ioctl() local
346 vd = vdisk_get_info((struct devdesc *)dev); in vdisk_ioctl()
347 if (vd == NULL) in vdisk_ioctl()
358 *(u_int *)data = vd->vdisk_sectorsz; in vdisk_ioctl()
361 *(uint64_t *)data = vd->vdisk_size; in vdisk_ioctl()
373 vdisk_info_t *vd; in vdisk_print() local
383 STAILQ_FOREACH(vd, &vdisk_list, vdisk_link) { in vdisk_print()
387 printf(" %s", vd->vdisk_path); in vdisk_print()
392 " %s%d", vdisk_dev.dv_name, vd->vdisk_unit); in vdisk_print()
394 vd->vdisk_size / vd->vdisk_sectorsz, in vdisk_print()
395 vd->vdisk_sectorsz); in vdisk_print()
400 vd_dev.dd.d_unit = vd->vdisk_unit; in vdisk_print()
404 ret = disk_open(&vd_dev, vd->vdisk_size, vd->vdisk_sectorsz); in vdisk_print()