Lines Matching refs:pd

413 	struct g_raid_md_sii_perdisk *pd;
416 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
417 if (pd->pd_disk_pos == id)
480 struct g_raid_md_sii_perdisk *pd, *oldpd;
488 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
492 if (pd->pd_meta != NULL)
493 disk_pos = sii_meta_disk_pos(meta, pd->pd_meta);
512 pd->pd_disk_size) {
515 pd->pd_disk_size,
530 if (disk_pos == -3 || pd->pd_disk_pos == -3) {
566 pd->pd_disk_pos = disk_pos;
579 else if (pd->pd_meta->disk_status == SII_S_CURRENT ||
580 pd->pd_meta->disk_status == SII_S_REBUILD)
591 sd->sd_size = pd->pd_disk_size - 0x800 * 512;
597 } else if (pd->pd_meta->disk_status == SII_S_REBUILD) {
601 if (pd->pd_meta->generation == meta->generation)
602 sd->sd_rebuild_pos = pd->pd_meta->rebuild_lba * 512;
605 } else if (pd->pd_meta->disk_status == SII_S_CURRENT) {
606 if (pd->pd_meta->raid_status == SII_S_ONLINE ||
607 pd->pd_meta->generation != meta->generation) {
708 struct g_raid_md_sii_perdisk *pd;
765 pd = malloc(sizeof(*pd), M_MD_SII, M_WAITOK | M_ZERO);
766 pd->pd_disk_pos = disk_pos;
768 disk->d_md_data = (void *)pd;
785 pd = disk->d_md_data;
786 if (pd->pd_meta == NULL)
790 pd->pd_meta->generation;
822 struct g_raid_md_sii_perdisk *pd;
827 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
828 pdmeta = pd->pd_meta;
913 struct g_raid_md_sii_perdisk *pd;
1023 pd = malloc(sizeof(*pd), M_MD_SII, M_WAITOK | M_ZERO);
1024 pd->pd_meta = meta;
1026 pd->pd_disk_pos = -3;
1028 pd->pd_disk_pos = -1;
1030 pd->pd_disk_size = pp->mediasize;
1032 disk->d_md_data = (void *)pd;
1056 struct g_raid_md_sii_perdisk *pd;
1069 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
1073 if (pd->pd_disk_pos >= 0) {
1114 struct g_raid_md_sii_perdisk *pd;
1188 pd = malloc(sizeof(*pd), M_MD_SII, M_WAITOK | M_ZERO);
1189 pd->pd_disk_pos = i;
1191 disk->d_md_data = (void *)pd;
1200 pd->pd_disk_size = pp->mediasize;
1294 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
1295 sd = &vol->v_subdisks[pd->pd_disk_pos];
1376 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
1382 if (pd->pd_disk_pos >= 0) {
1438 pd = malloc(sizeof(*pd), M_MD_SII, M_WAITOK | M_ZERO);
1439 pd->pd_disk_pos = -3;
1440 pd->pd_disk_size = pp->mediasize;
1444 disk->d_md_data = (void *)pd;
1482 struct g_raid_md_sii_perdisk *pd;
1546 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
1549 if (pd->pd_meta != NULL) {
1550 free(pd->pd_meta, M_MD_SII);
1551 pd->pd_meta = NULL;
1553 pd->pd_meta = sii_meta_copy(meta);
1556 pd->pd_meta->disk_status = SII_S_DROPPED;
1558 pd->pd_meta->disk_status = SII_S_REBUILD;
1559 pd->pd_meta->rebuild_lba =
1562 pd->pd_meta->disk_status = SII_S_CURRENT;
1564 pd->pd_meta->disk_number = sd->sd_pos;
1565 pd->pd_meta->raid0_ident = 0xff;
1566 pd->pd_meta->raid1_ident = 0;
1568 pd->pd_meta->disk_number = sd->sd_pos / meta->raid1_disks;
1569 pd->pd_meta->raid0_ident = sd->sd_pos % meta->raid1_disks;
1570 pd->pd_meta->raid1_ident = sd->sd_pos / meta->raid1_disks;
1572 pd->pd_meta->disk_number = sd->sd_pos;
1573 pd->pd_meta->raid0_ident = 0;
1574 pd->pd_meta->raid1_ident = 0xff;
1579 g_raid_md_sii_print(pd->pd_meta);
1580 sii_meta_write(disk->d_consumer, pd->pd_meta);
1590 struct g_raid_md_sii_perdisk *pd;
1594 pd = (struct g_raid_md_sii_perdisk *)tdisk->d_md_data;
1597 if (pd->pd_disk_pos < 0)
1605 if (pd->pd_meta) {
1606 pd->pd_meta->disk_status = SII_S_REMOVED;
1607 sii_meta_write(tdisk->d_consumer, pd->pd_meta);
1637 struct g_raid_md_sii_perdisk *pd;
1639 pd = (struct g_raid_md_sii_perdisk *)disk->d_md_data;
1640 if (pd->pd_meta != NULL) {
1641 free(pd->pd_meta, M_MD_SII);
1642 pd->pd_meta = NULL;
1644 free(pd, M_MD_SII);