Lines Matching refs:blk
701 struct ldm_xvblk *blk; in ldm_xvblk_handle() local
705 LIST_FOREACH(blk, &db->xvblks, entry) in ldm_xvblk_handle()
706 if (blk->group == vh->group) in ldm_xvblk_handle()
708 if (blk == NULL) { in ldm_xvblk_handle()
709 blk = g_malloc(sizeof(*blk), M_WAITOK | M_ZERO); in ldm_xvblk_handle()
710 blk->group = vh->group; in ldm_xvblk_handle()
711 blk->size = size * vh->count + 16; in ldm_xvblk_handle()
712 blk->data = g_malloc(blk->size, M_WAITOK | M_ZERO); in ldm_xvblk_handle()
713 blk->map = 0xFF << vh->count; in ldm_xvblk_handle()
714 LIST_INSERT_HEAD(&db->xvblks, blk, entry); in ldm_xvblk_handle()
716 if ((blk->map & (1 << vh->index)) != 0) { in ldm_xvblk_handle()
721 memcpy(blk->data + size * vh->index + 16, p + 16, size); in ldm_xvblk_handle()
722 blk->map |= 1 << vh->index; in ldm_xvblk_handle()
773 struct ldm_vblk *blk; in ldm_vblk_handle() local
779 blk = g_malloc(sizeof(*blk), M_WAITOK | M_ZERO); in ldm_vblk_handle()
780 blk->type = p[LDM_VBLK_TYPE_OFF]; in ldm_vblk_handle()
781 offset = ldm_vnum_get(p, LDM_VBLK_OID_OFF, &blk->u.id, size); in ldm_vblk_handle()
791 switch (blk->type) { in ldm_vblk_handle()
813 &blk->u.comp.vol_id, size); in ldm_vblk_handle()
834 blk->u.part.start = be64dec(p + offset + 12); in ldm_vblk_handle()
835 blk->u.part.offset = be64dec(p + offset + 20); in ldm_vblk_handle()
836 offset = ldm_vnum_get(p, offset + 28, &blk->u.part.size, size); in ldm_vblk_handle()
841 offset = ldm_vnum_get(p, offset, &blk->u.part.comp_id, size); in ldm_vblk_handle()
846 offset = ldm_vnum_get(p, offset, &blk->u.part.disk_id, size); in ldm_vblk_handle()
863 error = parse_uuid(vstr, &blk->u.disk.guid); in ldm_vblk_handle()
866 LIST_INSERT_HEAD(&db->disks, &blk->u.disk, entry); in ldm_vblk_handle()
876 strncpy(blk->u.disk_group.name, vstr, in ldm_vblk_handle()
877 sizeof(blk->u.disk_group.name)); in ldm_vblk_handle()
883 error = parse_uuid(name, &blk->u.disk_group.guid); in ldm_vblk_handle()
888 LIST_INSERT_HEAD(&db->groups, &blk->u.disk_group, entry); in ldm_vblk_handle()
898 be_uuid_dec(p + offset, &blk->u.disk.guid); in ldm_vblk_handle()
899 LIST_INSERT_HEAD(&db->disks, &blk->u.disk, entry); in ldm_vblk_handle()
909 strncpy(blk->u.disk_group.name, vstr, in ldm_vblk_handle()
910 sizeof(blk->u.disk_group.name)); in ldm_vblk_handle()
911 be_uuid_dec(p + offset, &blk->u.disk.guid); in ldm_vblk_handle()
912 LIST_INSERT_HEAD(&db->groups, &blk->u.disk_group, entry); in ldm_vblk_handle()
942 blk->u.vol.number = p[offset + 16]; in ldm_vblk_handle()
948 offset = ldm_vnum_get(p, offset + 16, &blk->u.vol.size, size); in ldm_vblk_handle()
957 blk->u.vol.part_type = p[offset + 4]; in ldm_vblk_handle()
961 if (volume->number > blk->u.vol.number) in ldm_vblk_handle()
966 LIST_INSERT_AFTER(last, &blk->u.vol, entry); in ldm_vblk_handle()
968 LIST_INSERT_HEAD(&db->volumes, &blk->u.vol, entry); in ldm_vblk_handle()
971 LDM_DEBUG(1, "unknown VBLK type 0x%02x\n", blk->type); in ldm_vblk_handle()
974 LIST_INSERT_HEAD(&db->vblks, blk, entry); in ldm_vblk_handle()
978 errstr, blk->type); in ldm_vblk_handle()
980 g_free(blk); in ldm_vblk_handle()