Lines Matching refs:meta

140 g_raid_md_jmicron_print(struct jmicron_raid_conf *meta)  in g_raid_md_jmicron_print()  argument
148 printf("signature <%c%c>\n", meta->signature[0], meta->signature[1]); in g_raid_md_jmicron_print()
149 printf("version %04x\n", meta->version); in g_raid_md_jmicron_print()
150 printf("checksum 0x%04x\n", meta->checksum); in g_raid_md_jmicron_print()
151 printf("disk_id 0x%08x\n", meta->disk_id); in g_raid_md_jmicron_print()
152 printf("offset 0x%08x\n", meta->offset); in g_raid_md_jmicron_print()
153 printf("disk_sectors_high 0x%08x\n", meta->disk_sectors_high); in g_raid_md_jmicron_print()
154 printf("disk_sectors_low 0x%04x\n", meta->disk_sectors_low); in g_raid_md_jmicron_print()
155 printf("name <%.16s>\n", meta->name); in g_raid_md_jmicron_print()
156 printf("type %d\n", meta->type); in g_raid_md_jmicron_print()
157 printf("stripe_shift %d\n", meta->stripe_shift); in g_raid_md_jmicron_print()
158 printf("flags %04x\n", meta->flags); in g_raid_md_jmicron_print()
161 printf(" 0x%08x", meta->spare[k]); in g_raid_md_jmicron_print()
165 printf(" 0x%08x", meta->disks[k]); in g_raid_md_jmicron_print()
171 jmicron_meta_copy(struct jmicron_raid_conf *meta) in jmicron_meta_copy() argument
175 nmeta = malloc(sizeof(*meta), M_MD_JMICRON, M_WAITOK); in jmicron_meta_copy()
176 memcpy(nmeta, meta, sizeof(*meta)); in jmicron_meta_copy()
181 jmicron_meta_total_disks(struct jmicron_raid_conf *meta) in jmicron_meta_total_disks() argument
186 if (meta->disks[pos] == 0) in jmicron_meta_total_disks()
193 jmicron_meta_total_spare(struct jmicron_raid_conf *meta) in jmicron_meta_total_spare() argument
199 if (meta->spare[pos] != 0) in jmicron_meta_total_spare()
210 jmicron_meta_config_id(struct jmicron_raid_conf *meta) in jmicron_meta_config_id() argument
217 config_id += meta->disks[pos] << pos; in jmicron_meta_config_id()
222 jmicron_meta_get_name(struct jmicron_raid_conf *meta, char *buf) in jmicron_meta_get_name() argument
226 strncpy(buf, meta->name, 16); in jmicron_meta_get_name()
236 jmicron_meta_put_name(struct jmicron_raid_conf *meta, char *buf) in jmicron_meta_put_name() argument
239 memset(meta->name, 0x20, 16); in jmicron_meta_put_name()
240 memcpy(meta->name, buf, MIN(strlen(buf), 16)); in jmicron_meta_put_name()
244 jmicron_meta_find_disk(struct jmicron_raid_conf *meta, uint32_t id) in jmicron_meta_find_disk() argument
250 if ((meta->disks[pos] & JMICRON_DISK_MASK) == id) in jmicron_meta_find_disk()
254 if ((meta->spare[pos] & JMICRON_DISK_MASK) == id) in jmicron_meta_find_disk()
264 struct jmicron_raid_conf *meta; in jmicron_meta_read() local
270 if (pp->sectorsize < sizeof(*meta)) in jmicron_meta_read()
280 meta = (struct jmicron_raid_conf *)buf; in jmicron_meta_read()
283 if (strncmp(meta->signature, JMICRON_MAGIC, strlen(JMICRON_MAGIC))) { in jmicron_meta_read()
288 meta = malloc(sizeof(*meta), M_MD_JMICRON, M_WAITOK); in jmicron_meta_read()
289 memcpy(meta, buf, min(sizeof(*meta), pp->sectorsize)); in jmicron_meta_read()
293 for (checksum = 0, ptr = (uint16_t *)meta, i = 0; i < 64; i++) in jmicron_meta_read()
297 free(meta, M_MD_JMICRON); in jmicron_meta_read()
301 return (meta); in jmicron_meta_read()
305 jmicron_meta_write(struct g_consumer *cp, struct jmicron_raid_conf *meta) in jmicron_meta_write() argument
315 meta->checksum = 0; in jmicron_meta_write()
316 for (checksum = 0, ptr = (uint16_t *)meta, i = 0; i < 64; i++) in jmicron_meta_write()
318 meta->checksum -= checksum; in jmicron_meta_write()
322 memcpy(buf, meta, sizeof(*meta)); in jmicron_meta_write()
428 struct jmicron_raid_conf *meta; in g_raid_md_jmicron_start_disk() local
434 meta = mdi->mdio_meta; in g_raid_md_jmicron_start_disk()
440 disk_pos = jmicron_meta_find_disk(meta, pd->pd_disk_id); in g_raid_md_jmicron_start_disk()
515 meta->disks[disk_pos] = pd->pd_disk_id; in g_raid_md_jmicron_start_disk()
544 } else if ((meta->flags & JMICRON_F_BADSEC) != 0 && in g_raid_md_jmicron_start_disk()
647 struct jmicron_raid_conf *meta; in g_raid_md_jmicron_start() local
657 meta = mdi->mdio_meta; in g_raid_md_jmicron_start()
660 jmicron_meta_get_name(meta, buf); in g_raid_md_jmicron_start()
662 size = ((off_t)meta->disk_sectors_high << 16) + meta->disk_sectors_low; in g_raid_md_jmicron_start()
665 if (meta->type == JMICRON_T_RAID0) { in g_raid_md_jmicron_start()
668 } else if (meta->type == JMICRON_T_RAID1) { in g_raid_md_jmicron_start()
671 } else if (meta->type == JMICRON_T_RAID01) { in g_raid_md_jmicron_start()
674 } else if (meta->type == JMICRON_T_CONCAT) { in g_raid_md_jmicron_start()
680 } else if (meta->type == JMICRON_T_RAID5) { in g_raid_md_jmicron_start()
688 vol->v_strip_size = 1024 << meta->stripe_shift; //ZZZ in g_raid_md_jmicron_start()
693 sd->sd_offset = (off_t)meta->offset * 16 * 512; //ZZZ in g_raid_md_jmicron_start()
702 pd->pd_disk_id = meta->disks[disk_pos]; in g_raid_md_jmicron_start()
826 struct jmicron_raid_conf *meta; in g_raid_md_taste_jmicron() local
838 meta = NULL; in g_raid_md_taste_jmicron()
844 meta = jmicron_meta_read(cp); in g_raid_md_taste_jmicron()
846 if (meta == NULL) { in g_raid_md_taste_jmicron()
863 disk_pos = jmicron_meta_find_disk(meta, meta->disk_id); in g_raid_md_taste_jmicron()
866 meta->disk_id); in g_raid_md_taste_jmicron()
871 g_raid_md_jmicron_print(meta); in g_raid_md_taste_jmicron()
893 jmicron_meta_config_id(meta)) in g_raid_md_taste_jmicron()
909 mdi->mdio_config_id = jmicron_meta_config_id(meta); in g_raid_md_taste_jmicron()
935 pd->pd_meta = meta; in g_raid_md_taste_jmicron()
941 pd->pd_disk_id = meta->disk_id; in g_raid_md_taste_jmicron()
958 free(meta, M_MD_JMICRON); in g_raid_md_taste_jmicron()
1394 struct jmicron_raid_conf *meta; in g_raid_md_write_jmicron() local
1407 meta = malloc(sizeof(*meta), M_MD_JMICRON, M_WAITOK | M_ZERO); in g_raid_md_write_jmicron()
1408 strncpy(meta->signature, JMICRON_MAGIC, 2); in g_raid_md_write_jmicron()
1409 meta->version = JMICRON_VERSION; in g_raid_md_write_jmicron()
1410 jmicron_meta_put_name(meta, vol->v_name); in g_raid_md_write_jmicron()
1412 meta->type = JMICRON_T_RAID0; in g_raid_md_write_jmicron()
1414 meta->type = JMICRON_T_RAID1; in g_raid_md_write_jmicron()
1416 meta->type = JMICRON_T_RAID01; in g_raid_md_write_jmicron()
1419 meta->type = JMICRON_T_CONCAT; in g_raid_md_write_jmicron()
1421 meta->type = JMICRON_T_RAID5; in g_raid_md_write_jmicron()
1422 meta->stripe_shift = fls(vol->v_strip_size / 2048); in g_raid_md_write_jmicron()
1423 meta->flags = JMICRON_F_READY | JMICRON_F_BOOTABLE; in g_raid_md_write_jmicron()
1427 meta->disks[i] = 0xffffffff; in g_raid_md_write_jmicron()
1431 meta->disks[i] = pd->pd_disk_id; in g_raid_md_write_jmicron()
1434 meta->flags |= JMICRON_F_BADSEC; in g_raid_md_write_jmicron()
1436 meta->flags |= JMICRON_F_UNSYNC; in g_raid_md_write_jmicron()
1445 meta->spare[spares] = pd->pd_disk_id; in g_raid_md_write_jmicron()
1453 mdi->mdio_meta = meta; in g_raid_md_write_jmicron()
1463 pd->pd_meta = jmicron_meta_copy(meta); in g_raid_md_write_jmicron()