Lines Matching refs:disk

414 	struct g_raid_disk	*disk;  in g_raid_md_sii_get_disk()  local
417 TAILQ_FOREACH(disk, &sc->sc_disks, d_next) { in g_raid_md_sii_get_disk()
418 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data; in g_raid_md_sii_get_disk()
422 return (disk); in g_raid_md_sii_get_disk()
475 g_raid_md_sii_start_disk(struct g_raid_disk *disk) in g_raid_md_sii_start_disk() argument
486 sc = disk->d_softc; in g_raid_md_sii_start_disk()
490 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data; in g_raid_md_sii_start_disk()
533 g_raid_change_disk_state(disk, in g_raid_md_sii_start_disk()
537 g_raid_change_disk_state(disk, in g_raid_md_sii_start_disk()
555 g_raid_change_disk_state(disk, G_RAID_DISK_S_STALE); in g_raid_md_sii_start_disk()
564 TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next); in g_raid_md_sii_start_disk()
565 sd->sd_disk = disk; in g_raid_md_sii_start_disk()
580 g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE); in g_raid_md_sii_start_disk()
583 g_raid_change_disk_state(disk, G_RAID_DISK_S_ACTIVE); in g_raid_md_sii_start_disk()
585 g_raid_change_disk_state(disk, G_RAID_DISK_S_FAILED); in g_raid_md_sii_start_disk()
586 TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) { in g_raid_md_sii_start_disk()
649 struct g_raid_disk *disk; in g_raid_md_sii_refill() local
667 TAILQ_FOREACH(disk, &sc->sc_disks, d_next) { in g_raid_md_sii_refill()
668 if (disk->d_state == G_RAID_DISK_S_STALE) { in g_raid_md_sii_refill()
669 update += g_raid_md_sii_start_disk(disk); in g_raid_md_sii_refill()
670 if (disk->d_state == G_RAID_DISK_S_ACTIVE) in g_raid_md_sii_refill()
674 if (disk != NULL) in g_raid_md_sii_refill()
678 TAILQ_FOREACH(disk, &sc->sc_disks, d_next) { in g_raid_md_sii_refill()
679 if (disk->d_state == G_RAID_DISK_S_SPARE) { in g_raid_md_sii_refill()
680 update += g_raid_md_sii_start_disk(disk); in g_raid_md_sii_refill()
681 if (disk->d_state == G_RAID_DISK_S_ACTIVE) in g_raid_md_sii_refill()
685 } while (disk != NULL); in g_raid_md_sii_refill()
713 struct g_raid_disk *disk, *best; in g_raid_md_sii_start() local
768 disk = g_raid_create_disk(sc); in g_raid_md_sii_start()
769 disk->d_md_data = (void *)pd; in g_raid_md_sii_start()
770 disk->d_state = G_RAID_DISK_S_OFFLINE; in g_raid_md_sii_start()
772 sd->sd_disk = disk; in g_raid_md_sii_start()
773 TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next); in g_raid_md_sii_start()
783 TAILQ_FOREACH(disk, &sc->sc_disks, d_next) { in g_raid_md_sii_start()
784 if (disk->d_state != G_RAID_DISK_S_NONE) in g_raid_md_sii_start()
786 pd = disk->d_md_data; in g_raid_md_sii_start()
793 best = disk; in g_raid_md_sii_start()
817 g_raid_md_sii_new_disk(struct g_raid_disk *disk) in g_raid_md_sii_new_disk() argument
825 sc = disk->d_softc; in g_raid_md_sii_new_disk()
828 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data; in g_raid_md_sii_new_disk()
832 if (g_raid_md_sii_start_disk(disk)) in g_raid_md_sii_new_disk()
912 struct g_raid_disk *disk; in g_raid_md_taste_sii() local
1039 disk = g_raid_create_disk(sc); in g_raid_md_taste_sii()
1040 disk->d_md_data = (void *)pd; in g_raid_md_taste_sii()
1041 disk->d_consumer = rcp; in g_raid_md_taste_sii()
1042 rcp->private = disk; in g_raid_md_taste_sii()
1044 g_raid_get_disk_info(disk); in g_raid_md_taste_sii()
1046 g_raid_md_sii_new_disk(disk); in g_raid_md_taste_sii()
1059 struct g_raid_disk *disk, u_int event) in g_raid_md_event_sii() argument
1068 if (disk == NULL) { in g_raid_md_event_sii()
1077 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data; in g_raid_md_event_sii()
1082 g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE); in g_raid_md_event_sii()
1083 if (disk->d_consumer) { in g_raid_md_event_sii()
1084 g_raid_kill_consumer(sc, disk->d_consumer); in g_raid_md_event_sii()
1085 disk->d_consumer = NULL; in g_raid_md_event_sii()
1087 TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) { in g_raid_md_event_sii()
1095 g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE); in g_raid_md_event_sii()
1096 g_raid_destroy_disk(disk); in g_raid_md_event_sii()
1120 struct g_raid_disk *disk; in g_raid_md_ctl_sii() local
1197 disk = g_raid_create_disk(sc); in g_raid_md_ctl_sii()
1198 disk->d_md_data = (void *)pd; in g_raid_md_ctl_sii()
1199 disk->d_consumer = cp; in g_raid_md_ctl_sii()
1202 cp->private = disk; in g_raid_md_ctl_sii()
1205 g_raid_get_disk_info(disk); in g_raid_md_ctl_sii()
1300 TAILQ_FOREACH(disk, &sc->sc_disks, d_next) { in g_raid_md_ctl_sii()
1301 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data; in g_raid_md_ctl_sii()
1303 sd->sd_disk = disk; in g_raid_md_ctl_sii()
1306 TAILQ_INSERT_TAIL(&disk->d_subdisks, sd, sd_next); in g_raid_md_ctl_sii()
1308 g_raid_change_disk_state(disk, in g_raid_md_ctl_sii()
1315 g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE); in g_raid_md_ctl_sii()
1339 TAILQ_FOREACH(disk, &sc->sc_disks, d_next) { in g_raid_md_ctl_sii()
1340 if (disk->d_consumer) in g_raid_md_ctl_sii()
1341 sii_meta_erase(disk->d_consumer); in g_raid_md_ctl_sii()
1363 TAILQ_FOREACH(disk, &sc->sc_disks, d_next) { in g_raid_md_ctl_sii()
1364 if (disk->d_consumer != NULL && in g_raid_md_ctl_sii()
1365 disk->d_consumer->provider != NULL && in g_raid_md_ctl_sii()
1366 strcmp(disk->d_consumer->provider->name, in g_raid_md_ctl_sii()
1370 if (disk == NULL) { in g_raid_md_ctl_sii()
1378 g_raid_md_fail_disk_sii(md, NULL, disk); in g_raid_md_ctl_sii()
1382 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data; in g_raid_md_ctl_sii()
1385 sii_meta_erase(disk->d_consumer); in g_raid_md_ctl_sii()
1389 g_raid_change_disk_state(disk, G_RAID_DISK_S_OFFLINE); in g_raid_md_ctl_sii()
1390 g_raid_kill_consumer(sc, disk->d_consumer); in g_raid_md_ctl_sii()
1391 disk->d_consumer = NULL; in g_raid_md_ctl_sii()
1392 TAILQ_FOREACH(sd, &disk->d_subdisks, sd_next) { in g_raid_md_ctl_sii()
1400 g_raid_change_disk_state(disk, G_RAID_DISK_S_NONE); in g_raid_md_ctl_sii()
1401 g_raid_destroy_disk(disk); in g_raid_md_ctl_sii()
1448 disk = g_raid_create_disk(sc); in g_raid_md_ctl_sii()
1449 disk->d_consumer = cp; in g_raid_md_ctl_sii()
1450 disk->d_md_data = (void *)pd; in g_raid_md_ctl_sii()
1451 cp->private = disk; in g_raid_md_ctl_sii()
1454 g_raid_get_disk_info(disk); in g_raid_md_ctl_sii()
1457 update += g_raid_md_sii_start_disk(disk); in g_raid_md_ctl_sii()
1458 if (disk->d_state == G_RAID_DISK_S_SPARE) { in g_raid_md_ctl_sii()
1460 g_raid_destroy_disk(disk); in g_raid_md_ctl_sii()
1461 } else if (disk->d_state != G_RAID_DISK_S_ACTIVE) { in g_raid_md_ctl_sii()
1464 g_raid_destroy_disk(disk); in g_raid_md_ctl_sii()
1486 struct g_raid_disk *disk; in g_raid_md_write_sii() local
1551 TAILQ_FOREACH(disk, &sc->sc_disks, d_next) { in g_raid_md_write_sii()
1552 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data; in g_raid_md_write_sii()
1553 if (disk->d_state != G_RAID_DISK_S_ACTIVE) in g_raid_md_write_sii()
1560 if ((sd = TAILQ_FIRST(&disk->d_subdisks)) != NULL) { in g_raid_md_write_sii()
1584 g_raid_get_diskname(disk)); in g_raid_md_write_sii()
1586 sii_meta_write(disk->d_consumer, pd->pd_meta); in g_raid_md_write_sii()
1641 struct g_raid_disk *disk) in g_raid_md_free_disk_sii() argument
1645 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data; in g_raid_md_free_disk_sii()
1651 disk->d_md_data = NULL; in g_raid_md_free_disk_sii()