Lines Matching defs:img

13  * [root]# qemu-nbd -c /dev/nbd0 image.img
84 static int qcow2_read_l1_table(struct ext2_qcow2_image *img)
86 int fd = img->fd;
87 size_t size, l1_size = img->l1_size * sizeof(blk64_t);
95 if (ext2fs_llseek(fd, img->l1_offset, SEEK_SET) < 0) {
106 img->l1_table = table;
111 static int qcow2_read_l2_table(struct ext2_qcow2_image *img,
114 int fd = img->fd;
122 size = read(fd, *l2_table, img->cluster_size);
123 if (size != img->cluster_size)
157 struct ext2_qcow2_image img;
168 img.fd = qcow2_fd;
169 img.hdr = hdr;
170 img.l2_cache = NULL;
171 img.l1_table = NULL;
172 img.cluster_bits = ext2fs_be32_to_cpu(hdr->cluster_bits);
173 img.cluster_size = 1 << img.cluster_bits;
174 img.l1_size = ext2fs_be32_to_cpu(hdr->l1_size);
175 img.l1_offset = ext2fs_be64_to_cpu(hdr->l1_table_offset);
176 img.l2_size = 1 << (img.cluster_bits - 3);
177 img.image_size = ext2fs_be64_to_cpu(hdr->size);
180 ret = ext2fs_get_memzero(img.cluster_size, &l2_table);
184 ret = ext2fs_get_memzero(1 << img.cluster_bits, &copy_buf);
193 ret = qcow2_read_l1_table(&img);
197 l1_table = img.l1_table;
199 for (l1_index = 0; l1_index < img.l1_size; l1_index++) {
205 if ((offset > img.image_size) ||
214 ret = qcow2_read_l2_table(&img, offset, &l2_table);
219 for (l2_index = 0; l2_index < img.l2_size; l2_index++) {
226 off_out = (l1_index * img.l2_size) +
228 off_out <<= img.cluster_bits;
230 off_out, copy_buf, img.cluster_size);
237 if (ext2fs_llseek(raw_fd, img.image_size - 1, SEEK_SET) < 0)
250 if (img.l1_table)
251 ext2fs_free_mem(&img.l1_table);