struct btrfs_ioctl_search_args search_arg;
struct btrfs_ioctl_search_header *search_header;
u32 item_size;
+ __le64 lesubid;
btrfs_uuid_to_key(uuid, &key_objectid, &key_offset);
goto out;
}
search_header = (struct btrfs_ioctl_search_header *)(search_arg.buf);
- item_size = search_header->len;
+ item_size = btrfs_search_header_len(search_header);
if ((item_size & (sizeof(u64) - 1)) || item_size == 0) {
printf("btrfs: uuid item with illegal size %lu!\n",
(unsigned long)item_size);
}
/* return first stored id */
- memcpy(subid, search_header + 1, sizeof(*subid));
- *subid = le64_to_cpu(*subid);
+ memcpy(&lesubid, search_header + 1, sizeof(lesubid));
+ *subid = le64_to_cpu(lesubid);
out:
return ret;