Lines Matching refs:mdi

425 	struct g_raid_md_jmicron_object *mdi;
432 mdi = (struct g_raid_md_jmicron_object *)md;
433 meta = mdi->mdio_meta;
445 if (!mdi->mdio_started)
563 if (mdi->mdio_started) {
564 mdi->mdio_incomplete =
566 mdi->mdio_total_disks);
585 struct g_raid_md_jmicron_object *mdi;
591 mdi = (struct g_raid_md_jmicron_object *)md;
596 if (na == mdi->mdio_total_disks)
601 "trying to refill.", na, mdi->mdio_total_disks);
629 mdi->mdio_incomplete = (g_raid_ndisks(sc, G_RAID_DISK_S_ACTIVE) <
630 mdi->mdio_total_disks);
633 if (mdi->mdio_incomplete) {
645 struct g_raid_md_jmicron_object *mdi;
656 mdi = (struct g_raid_md_jmicron_object *)md;
657 meta = mdi->mdio_meta;
667 vol->v_mediasize = size * mdi->mdio_total_disks;
673 vol->v_mediasize = size * mdi->mdio_total_disks / 2;
675 if (mdi->mdio_total_disks == 1)
683 vol->v_mediasize = size * (mdi->mdio_total_disks - 1);
689 vol->v_disks_count = mdi->mdio_total_disks;
699 for (disk_pos = 0; disk_pos < mdi->mdio_total_disks; disk_pos++) {
721 mdi->mdio_started = 1;
730 callout_stop(&mdi->mdio_start_co);
731 G_RAID_DEBUG1(1, sc, "root_mount_rel %p", mdi->mdio_rootmount);
732 root_mount_rel(mdi->mdio_rootmount);
733 mdi->mdio_rootmount = NULL;
741 struct g_raid_md_jmicron_object *mdi;
747 mdi = (struct g_raid_md_jmicron_object *)md;
751 if (mdi->mdio_started) {
759 if (mdi->mdio_meta == NULL ||
760 jmicron_meta_find_disk(mdi->mdio_meta,
761 mdi->mdio_meta->disk_id) == -3) {
762 if (mdi->mdio_meta != NULL)
763 free(mdi->mdio_meta, M_MD_JMICRON);
764 mdi->mdio_meta = jmicron_meta_copy(pdmeta);
765 mdi->mdio_total_disks = jmicron_meta_total_disks(pdmeta);
767 mdi->mdio_meta->flags |= pdmeta->flags & JMICRON_F_BADSEC;
769 mdi->mdio_disks_present++;
771 mdi->mdio_disks_present,
772 mdi->mdio_total_disks,
773 jmicron_meta_total_spare(mdi->mdio_meta));
776 if (mdi->mdio_disks_present == mdi->mdio_total_disks +
777 jmicron_meta_total_spare(mdi->mdio_meta))
787 struct g_raid_md_jmicron_object *mdi;
791 mdi = (struct g_raid_md_jmicron_object *)md;
792 if (!mdi->mdio_started) {
803 struct g_raid_md_jmicron_object *mdi;
806 mdi = (struct g_raid_md_jmicron_object *)md;
807 mdi->mdio_config_id = arc4random();
808 snprintf(name, sizeof(name), "JMicron-%08x", mdi->mdio_config_id);
823 struct g_raid_md_jmicron_object *mdi, *mdi1;
834 mdi = (struct g_raid_md_jmicron_object *)md;
909 mdi->mdio_config_id = jmicron_meta_config_id(meta);
911 mdi->mdio_config_id);
915 callout_init(&mdi->mdio_start_co, 1);
916 callout_reset(&mdi->mdio_start_co, g_raid_start_timeout * hz,
918 mdi->mdio_rootmount = root_mount_hold("GRAID-JMicron");
919 G_RAID_DEBUG1(1, sc, "root_mount_hold %p", mdi->mdio_rootmount);
968 struct g_raid_md_jmicron_object *mdi;
972 mdi = (struct g_raid_md_jmicron_object *)md;
976 if (!mdi->mdio_started)
1026 struct g_raid_md_jmicron_object *mdi;
1039 mdi = (struct g_raid_md_jmicron_object *)md;
1183 mdi->mdio_total_disks = numdisks;
1184 mdi->mdio_started = 1;
1394 struct g_raid_md_jmicron_object *mdi;
1400 mdi = (struct g_raid_md_jmicron_object *)md;
1453 if (mdi->mdio_meta != NULL)
1454 free(mdi->mdio_meta, M_MD_JMICRON);
1455 mdi->mdio_meta = meta;
1545 struct g_raid_md_jmicron_object *mdi;
1547 mdi = (struct g_raid_md_jmicron_object *)md;
1548 if (!mdi->mdio_started) {
1549 mdi->mdio_started = 0;
1550 callout_stop(&mdi->mdio_start_co);
1552 "root_mount_rel %p", mdi->mdio_rootmount);
1553 root_mount_rel(mdi->mdio_rootmount);
1554 mdi->mdio_rootmount = NULL;
1556 if (mdi->mdio_meta != NULL) {
1557 free(mdi->mdio_meta, M_MD_JMICRON);
1558 mdi->mdio_meta = NULL;