Lines Matching refs:data
133 static bool ldm_parse_privhead(const u8 *data, struct privhead *ph) in ldm_parse_privhead() argument
137 BUG_ON(!data || !ph); in ldm_parse_privhead()
138 if (MAGIC_PRIVHEAD != get_unaligned_be64(data)) { in ldm_parse_privhead()
143 ph->ver_major = get_unaligned_be16(data + 0x000C); in ldm_parse_privhead()
144 ph->ver_minor = get_unaligned_be16(data + 0x000E); in ldm_parse_privhead()
145 ph->logical_disk_start = get_unaligned_be64(data + 0x011B); in ldm_parse_privhead()
146 ph->logical_disk_size = get_unaligned_be64(data + 0x0123); in ldm_parse_privhead()
147 ph->config_start = get_unaligned_be64(data + 0x012B); in ldm_parse_privhead()
148 ph->config_size = get_unaligned_be64(data + 0x0133); in ldm_parse_privhead()
170 if (!ldm_parse_guid(data + 0x0030, ph->disk_id)) { in ldm_parse_privhead()
192 static bool ldm_parse_tocblock (const u8 *data, struct tocblock *toc) in ldm_parse_tocblock() argument
194 BUG_ON (!data || !toc); in ldm_parse_tocblock()
196 if (MAGIC_TOCBLOCK != get_unaligned_be64(data)) { in ldm_parse_tocblock()
200 strncpy (toc->bitmap1_name, data + 0x24, sizeof (toc->bitmap1_name)); in ldm_parse_tocblock()
202 toc->bitmap1_start = get_unaligned_be64(data + 0x2E); in ldm_parse_tocblock()
203 toc->bitmap1_size = get_unaligned_be64(data + 0x36); in ldm_parse_tocblock()
211 strncpy (toc->bitmap2_name, data + 0x46, sizeof (toc->bitmap2_name)); in ldm_parse_tocblock()
213 toc->bitmap2_start = get_unaligned_be64(data + 0x50); in ldm_parse_tocblock()
214 toc->bitmap2_size = get_unaligned_be64(data + 0x58); in ldm_parse_tocblock()
238 static bool ldm_parse_vmdb (const u8 *data, struct vmdb *vm) in ldm_parse_vmdb() argument
240 BUG_ON (!data || !vm); in ldm_parse_vmdb()
242 if (MAGIC_VMDB != get_unaligned_be32(data)) { in ldm_parse_vmdb()
247 vm->ver_major = get_unaligned_be16(data + 0x12); in ldm_parse_vmdb()
248 vm->ver_minor = get_unaligned_be16(data + 0x14); in ldm_parse_vmdb()
255 vm->vblk_size = get_unaligned_be32(data + 0x08); in ldm_parse_vmdb()
261 vm->vblk_offset = get_unaligned_be32(data + 0x0C); in ldm_parse_vmdb()
262 vm->last_vblk_seq = get_unaligned_be32(data + 0x04); in ldm_parse_vmdb()
337 u8 *data; in ldm_validate_privheads() local
356 data = read_part_sector(state, ph[0]->config_start + off[i], in ldm_validate_privheads()
358 if (!data) { in ldm_validate_privheads()
362 result = ldm_parse_privhead (data, ph[i]); in ldm_validate_privheads()
426 u8 *data; in ldm_validate_tocblocks() local
447 data = read_part_sector(state, base + off[i], §); in ldm_validate_tocblocks()
448 if (!data) { in ldm_validate_tocblocks()
452 if (ldm_parse_tocblock(data, tb[nr_tbs])) in ldm_validate_tocblocks()
497 u8 *data; in ldm_validate_vmdb() local
507 data = read_part_sector(state, base + OFF_VMDB, §); in ldm_validate_vmdb()
508 if (!data) { in ldm_validate_vmdb()
513 if (!ldm_parse_vmdb (data, vm)) in ldm_validate_vmdb()
517 if (get_unaligned_be16(data + 0x10) != 0x01) { in ldm_validate_vmdb()
561 u8 *data; in ldm_validate_partition_table() local
568 data = read_part_sector(state, 0, §); in ldm_validate_partition_table()
569 if (!data) { in ldm_validate_partition_table()
574 if (*(__le16*) (data + 0x01FE) != cpu_to_le16 (MSDOS_LABEL_MAGIC)) in ldm_validate_partition_table()
577 p = (struct partition*)(data + 0x01BE); in ldm_validate_partition_table()
1234 static bool ldm_ldmdb_add (u8 *data, int len, struct ldmdb *ldb) in ldm_ldmdb_add() argument
1239 BUG_ON (!data || !ldb); in ldm_ldmdb_add()
1247 if (!ldm_parse_vblk (data, len, vb)) { in ldm_ldmdb_add()
1296 static bool ldm_frag_add (const u8 *data, int size, struct list_head *frags) in ldm_frag_add() argument
1302 BUG_ON (!data || !frags); in ldm_frag_add()
1309 group = get_unaligned_be32(data + 0x08); in ldm_frag_add()
1310 rec = get_unaligned_be16(data + 0x0C); in ldm_frag_add()
1311 num = get_unaligned_be16(data + 0x0E); in ldm_frag_add()
1351 memcpy(f->data, data, VBLK_SIZE_HEAD); in ldm_frag_add()
1352 data += VBLK_SIZE_HEAD; in ldm_frag_add()
1354 memcpy(f->data + VBLK_SIZE_HEAD + rec * size, data, size); in ldm_frag_add()
1403 if (!ldm_ldmdb_add (f->data, f->num*ldb->vm.vblk_size, ldb)) in ldm_frag_commit()
1425 u8 *data = NULL; in ldm_get_vblks() local
1438 data = read_part_sector(state, base + OFF_VMDB + s, §); in ldm_get_vblks()
1439 if (!data) { in ldm_get_vblks()
1444 for (v = 0; v < perbuf; v++, data+=size) { /* For each vblk */ in ldm_get_vblks()
1445 if (MAGIC_VBLK != get_unaligned_be32(data)) { in ldm_get_vblks()
1450 recs = get_unaligned_be16(data + 0x0E); /* Number of records */ in ldm_get_vblks()
1452 if (!ldm_ldmdb_add (data, size, ldb)) in ldm_get_vblks()
1455 if (!ldm_frag_add (data, size, &frags)) in ldm_get_vblks()
1461 data = NULL; in ldm_get_vblks()
1466 if (data) in ldm_get_vblks()