Lines Matching full:mdi
433 struct g_raid_md_nvidia_object *mdi; in g_raid_md_nvidia_start_disk() local
440 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_nvidia_start_disk()
441 meta = mdi->mdio_meta; in g_raid_md_nvidia_start_disk()
448 if (disk_pos >= meta->total_disks || mdi->mdio_started) in g_raid_md_nvidia_start_disk()
457 if (!mdi->mdio_started) in g_raid_md_nvidia_start_disk()
570 if (mdi->mdio_started) { in g_raid_md_nvidia_start_disk()
571 mdi->mdio_incomplete = in g_raid_md_nvidia_start_disk()
573 mdi->mdio_total_disks); in g_raid_md_nvidia_start_disk()
592 struct g_raid_md_nvidia_object *mdi; in g_raid_md_nvidia_refill() local
598 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_nvidia_refill()
603 if (na == mdi->mdio_total_disks) in g_raid_md_nvidia_refill()
608 "trying to refill.", na, mdi->mdio_total_disks); in g_raid_md_nvidia_refill()
636 mdi->mdio_incomplete = (g_raid_ndisks(sc, G_RAID_DISK_S_ACTIVE) < in g_raid_md_nvidia_refill()
637 mdi->mdio_total_disks); in g_raid_md_nvidia_refill()
640 if (mdi->mdio_incomplete) { in g_raid_md_nvidia_refill()
652 struct g_raid_md_nvidia_object *mdi; in g_raid_md_nvidia_start() local
663 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_nvidia_start()
664 meta = mdi->mdio_meta; in g_raid_md_nvidia_start()
673 size = vol->v_mediasize / mdi->mdio_total_disks; in g_raid_md_nvidia_start()
679 size = vol->v_mediasize / (mdi->mdio_total_disks / 2); in g_raid_md_nvidia_start()
681 if (mdi->mdio_total_disks == 1) in g_raid_md_nvidia_start()
689 size = vol->v_mediasize / (mdi->mdio_total_disks - 1); in g_raid_md_nvidia_start()
693 size = vol->v_mediasize / (mdi->mdio_total_disks - 1); in g_raid_md_nvidia_start()
699 vol->v_disks_count = mdi->mdio_total_disks; in g_raid_md_nvidia_start()
709 for (disk_pos = 0; disk_pos < mdi->mdio_total_disks; disk_pos++) { in g_raid_md_nvidia_start()
730 mdi->mdio_started = 1; in g_raid_md_nvidia_start()
739 callout_stop(&mdi->mdio_start_co); in g_raid_md_nvidia_start()
740 G_RAID_DEBUG1(1, sc, "root_mount_rel %p", mdi->mdio_rootmount); in g_raid_md_nvidia_start()
741 root_mount_rel(mdi->mdio_rootmount); in g_raid_md_nvidia_start()
742 mdi->mdio_rootmount = NULL; in g_raid_md_nvidia_start()
750 struct g_raid_md_nvidia_object *mdi; in g_raid_md_nvidia_new_disk() local
756 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_nvidia_new_disk()
760 if (mdi->mdio_started) { in g_raid_md_nvidia_new_disk()
764 if (mdi->mdio_meta == NULL || in g_raid_md_nvidia_new_disk()
765 mdi->mdio_meta->disk_number >= mdi->mdio_meta->total_disks) { in g_raid_md_nvidia_new_disk()
767 if (mdi->mdio_meta != NULL) in g_raid_md_nvidia_new_disk()
768 free(mdi->mdio_meta, M_MD_NVIDIA); in g_raid_md_nvidia_new_disk()
769 mdi->mdio_meta = nvidia_meta_copy(pdmeta); in g_raid_md_nvidia_new_disk()
770 mdi->mdio_total_disks = pdmeta->total_disks; in g_raid_md_nvidia_new_disk()
771 mdi->mdio_disks_present = 1; in g_raid_md_nvidia_new_disk()
772 } else if (pdmeta->disk_number < mdi->mdio_meta->total_disks) { in g_raid_md_nvidia_new_disk()
773 mdi->mdio_disks_present++; in g_raid_md_nvidia_new_disk()
775 mdi->mdio_disks_present, in g_raid_md_nvidia_new_disk()
776 mdi->mdio_total_disks); in g_raid_md_nvidia_new_disk()
781 if (mdi->mdio_disks_present == mdi->mdio_total_disks) in g_raid_md_nvidia_new_disk()
791 struct g_raid_md_nvidia_object *mdi; in g_raid_nvidia_go() local
795 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_nvidia_go()
796 if (!mdi->mdio_started) { in g_raid_nvidia_go()
807 struct g_raid_md_nvidia_object *mdi; in g_raid_md_create_nvidia() local
810 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_create_nvidia()
811 arc4rand(&mdi->mdio_volume_id, 16, 0); in g_raid_md_create_nvidia()
828 struct g_raid_md_nvidia_object *mdi, *mdi1; in g_raid_md_taste_nvidia() local
839 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_taste_nvidia()
906 memcpy(&mdi->mdio_volume_id, &meta->volume_id, 16); in g_raid_md_taste_nvidia()
912 callout_init(&mdi->mdio_start_co, 1); in g_raid_md_taste_nvidia()
913 callout_reset(&mdi->mdio_start_co, g_raid_start_timeout * hz, in g_raid_md_taste_nvidia()
915 mdi->mdio_rootmount = root_mount_hold("GRAID-NVIDIA"); in g_raid_md_taste_nvidia()
916 G_RAID_DEBUG1(1, sc, "root_mount_hold %p", mdi->mdio_rootmount); in g_raid_md_taste_nvidia()
963 struct g_raid_md_nvidia_object *mdi; in g_raid_md_event_nvidia() local
967 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_event_nvidia()
971 if (!mdi->mdio_started) { in g_raid_md_event_nvidia()
973 arc4rand(&mdi->mdio_volume_id, 16, 0); in g_raid_md_event_nvidia()
1002 if (mdi->mdio_started) { in g_raid_md_event_nvidia()
1005 arc4rand(&mdi->mdio_volume_id, 16, 0); in g_raid_md_event_nvidia()
1030 struct g_raid_md_nvidia_object *mdi; in g_raid_md_ctl_nvidia() local
1043 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_ctl_nvidia()
1198 mdi->mdio_total_disks = numdisks; in g_raid_md_ctl_nvidia()
1199 mdi->mdio_started = 1; in g_raid_md_ctl_nvidia()
1396 struct g_raid_md_nvidia_object *mdi; in g_raid_md_write_nvidia() local
1402 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_write_nvidia()
1412 if (mdi->mdio_meta) in g_raid_md_write_nvidia()
1413 memcpy(meta, mdi->mdio_meta, sizeof(*meta)); in g_raid_md_write_nvidia()
1421 memcpy(&meta->volume_id, &mdi->mdio_volume_id, 16); in g_raid_md_write_nvidia()
1470 if (mdi->mdio_meta != NULL) in g_raid_md_write_nvidia()
1471 free(mdi->mdio_meta, M_MD_NVIDIA); in g_raid_md_write_nvidia()
1472 mdi->mdio_meta = meta; in g_raid_md_write_nvidia()
1563 struct g_raid_md_nvidia_object *mdi; in g_raid_md_free_nvidia() local
1565 mdi = (struct g_raid_md_nvidia_object *)md; in g_raid_md_free_nvidia()
1566 if (!mdi->mdio_started) { in g_raid_md_free_nvidia()
1567 mdi->mdio_started = 0; in g_raid_md_free_nvidia()
1568 callout_stop(&mdi->mdio_start_co); in g_raid_md_free_nvidia()
1570 "root_mount_rel %p", mdi->mdio_rootmount); in g_raid_md_free_nvidia()
1571 root_mount_rel(mdi->mdio_rootmount); in g_raid_md_free_nvidia()
1572 mdi->mdio_rootmount = NULL; in g_raid_md_free_nvidia()
1574 if (mdi->mdio_meta != NULL) { in g_raid_md_free_nvidia()
1575 free(mdi->mdio_meta, M_MD_NVIDIA); in g_raid_md_free_nvidia()
1576 mdi->mdio_meta = NULL; in g_raid_md_free_nvidia()