Lines Matching refs:data
67 static bool ldm_parse_privhead(const u8 *data, struct privhead *ph) in ldm_parse_privhead() argument
71 BUG_ON(!data || !ph); in ldm_parse_privhead()
72 if (MAGIC_PRIVHEAD != get_unaligned_be64(data)) { in ldm_parse_privhead()
77 ph->ver_major = get_unaligned_be16(data + 0x000C); in ldm_parse_privhead()
78 ph->ver_minor = get_unaligned_be16(data + 0x000E); in ldm_parse_privhead()
79 ph->logical_disk_start = get_unaligned_be64(data + 0x011B); in ldm_parse_privhead()
80 ph->logical_disk_size = get_unaligned_be64(data + 0x0123); in ldm_parse_privhead()
81 ph->config_start = get_unaligned_be64(data + 0x012B); in ldm_parse_privhead()
82 ph->config_size = get_unaligned_be64(data + 0x0133); in ldm_parse_privhead()
104 if (uuid_parse(data + 0x0030, &ph->disk_id)) { in ldm_parse_privhead()
126 static bool ldm_parse_tocblock (const u8 *data, struct tocblock *toc) in ldm_parse_tocblock() argument
128 BUG_ON (!data || !toc); in ldm_parse_tocblock()
130 if (MAGIC_TOCBLOCK != get_unaligned_be64(data)) { in ldm_parse_tocblock()
134 strncpy (toc->bitmap1_name, data + 0x24, sizeof (toc->bitmap1_name)); in ldm_parse_tocblock()
136 toc->bitmap1_start = get_unaligned_be64(data + 0x2E); in ldm_parse_tocblock()
137 toc->bitmap1_size = get_unaligned_be64(data + 0x36); in ldm_parse_tocblock()
145 strncpy (toc->bitmap2_name, data + 0x46, sizeof (toc->bitmap2_name)); in ldm_parse_tocblock()
147 toc->bitmap2_start = get_unaligned_be64(data + 0x50); in ldm_parse_tocblock()
148 toc->bitmap2_size = get_unaligned_be64(data + 0x58); in ldm_parse_tocblock()
172 static bool ldm_parse_vmdb (const u8 *data, struct vmdb *vm) in ldm_parse_vmdb() argument
174 BUG_ON (!data || !vm); in ldm_parse_vmdb()
176 if (MAGIC_VMDB != get_unaligned_be32(data)) { in ldm_parse_vmdb()
181 vm->ver_major = get_unaligned_be16(data + 0x12); in ldm_parse_vmdb()
182 vm->ver_minor = get_unaligned_be16(data + 0x14); in ldm_parse_vmdb()
189 vm->vblk_size = get_unaligned_be32(data + 0x08); in ldm_parse_vmdb()
195 vm->vblk_offset = get_unaligned_be32(data + 0x0C); in ldm_parse_vmdb()
196 vm->last_vblk_seq = get_unaligned_be32(data + 0x04); in ldm_parse_vmdb()
271 u8 *data; in ldm_validate_privheads() local
290 data = read_part_sector(state, ph[0]->config_start + off[i], in ldm_validate_privheads()
292 if (!data) { in ldm_validate_privheads()
296 result = ldm_parse_privhead (data, ph[i]); in ldm_validate_privheads()
360 u8 *data; in ldm_validate_tocblocks() local
381 data = read_part_sector(state, base + off[i], §); in ldm_validate_tocblocks()
382 if (!data) { in ldm_validate_tocblocks()
386 if (ldm_parse_tocblock(data, tb[nr_tbs])) in ldm_validate_tocblocks()
431 u8 *data; in ldm_validate_vmdb() local
441 data = read_part_sector(state, base + OFF_VMDB, §); in ldm_validate_vmdb()
442 if (!data) { in ldm_validate_vmdb()
447 if (!ldm_parse_vmdb (data, vm)) in ldm_validate_vmdb()
451 if (get_unaligned_be16(data + 0x10) != 0x01) { in ldm_validate_vmdb()
495 u8 *data; in ldm_validate_partition_table() local
502 data = read_part_sector(state, 0, §); in ldm_validate_partition_table()
503 if (!data) { in ldm_validate_partition_table()
508 if (*(__le16*) (data + 0x01FE) != cpu_to_le16 (MSDOS_LABEL_MAGIC)) in ldm_validate_partition_table()
511 p = (struct msdos_partition *)(data + 0x01BE); in ldm_validate_partition_table()
1156 static bool ldm_ldmdb_add (u8 *data, int len, struct ldmdb *ldb) in ldm_ldmdb_add() argument
1161 BUG_ON (!data || !ldb); in ldm_ldmdb_add()
1169 if (!ldm_parse_vblk (data, len, vb)) { in ldm_ldmdb_add()
1218 static bool ldm_frag_add (const u8 *data, int size, struct list_head *frags) in ldm_frag_add() argument
1224 BUG_ON (!data || !frags); in ldm_frag_add()
1231 group = get_unaligned_be32(data + 0x08); in ldm_frag_add()
1232 rec = get_unaligned_be16(data + 0x0C); in ldm_frag_add()
1233 num = get_unaligned_be16(data + 0x0E); in ldm_frag_add()
1273 memcpy(f->data, data, VBLK_SIZE_HEAD); in ldm_frag_add()
1274 data += VBLK_SIZE_HEAD; in ldm_frag_add()
1276 memcpy(f->data + VBLK_SIZE_HEAD + rec * size, data, size); in ldm_frag_add()
1325 if (!ldm_ldmdb_add (f->data, f->num*ldb->vm.vblk_size, ldb)) in ldm_frag_commit()
1347 u8 *data = NULL; in ldm_get_vblks() local
1360 data = read_part_sector(state, base + OFF_VMDB + s, §); in ldm_get_vblks()
1361 if (!data) { in ldm_get_vblks()
1366 for (v = 0; v < perbuf; v++, data+=size) { /* For each vblk */ in ldm_get_vblks()
1367 if (MAGIC_VBLK != get_unaligned_be32(data)) { in ldm_get_vblks()
1372 recs = get_unaligned_be16(data + 0x0E); /* Number of records */ in ldm_get_vblks()
1374 if (!ldm_ldmdb_add (data, size, ldb)) in ldm_get_vblks()
1377 if (!ldm_frag_add (data, size, &frags)) in ldm_get_vblks()
1383 data = NULL; in ldm_get_vblks()
1388 if (data) in ldm_get_vblks()