Lines Matching refs:sn
67 QCowSnapshot *sn; in qcow2_read_snapshots() local
85 sn = s->snapshots + i; in qcow2_read_snapshots()
86 sn->l1_table_offset = be64_to_cpu(h.l1_table_offset); in qcow2_read_snapshots()
87 sn->l1_size = be32_to_cpu(h.l1_size); in qcow2_read_snapshots()
88 sn->vm_state_size = be32_to_cpu(h.vm_state_size); in qcow2_read_snapshots()
89 sn->date_sec = be32_to_cpu(h.date_sec); in qcow2_read_snapshots()
90 sn->date_nsec = be32_to_cpu(h.date_nsec); in qcow2_read_snapshots()
91 sn->vm_clock_nsec = be64_to_cpu(h.vm_clock_nsec); in qcow2_read_snapshots()
99 sn->id_str = qemu_malloc(id_str_size + 1); in qcow2_read_snapshots()
100 if (bdrv_pread(bs->file, offset, sn->id_str, id_str_size) != id_str_size) in qcow2_read_snapshots()
103 sn->id_str[id_str_size] = '\0'; in qcow2_read_snapshots()
105 sn->name = qemu_malloc(name_size + 1); in qcow2_read_snapshots()
106 if (bdrv_pread(bs->file, offset, sn->name, name_size) != name_size) in qcow2_read_snapshots()
109 sn->name[name_size] = '\0'; in qcow2_read_snapshots()
122 QCowSnapshot *sn; in qcow_write_snapshots() local
132 sn = s->snapshots + i; in qcow_write_snapshots()
135 offset += strlen(sn->id_str); in qcow_write_snapshots()
136 offset += strlen(sn->name); in qcow_write_snapshots()
147 sn = s->snapshots + i; in qcow_write_snapshots()
149 h.l1_table_offset = cpu_to_be64(sn->l1_table_offset); in qcow_write_snapshots()
150 h.l1_size = cpu_to_be32(sn->l1_size); in qcow_write_snapshots()
151 h.vm_state_size = cpu_to_be32(sn->vm_state_size); in qcow_write_snapshots()
152 h.date_sec = cpu_to_be32(sn->date_sec); in qcow_write_snapshots()
153 h.date_nsec = cpu_to_be32(sn->date_nsec); in qcow_write_snapshots()
154 h.vm_clock_nsec = cpu_to_be64(sn->vm_clock_nsec); in qcow_write_snapshots()
156 id_str_size = strlen(sn->id_str); in qcow_write_snapshots()
157 name_size = strlen(sn->name); in qcow_write_snapshots()
164 if (bdrv_pwrite_sync(bs->file, offset, sn->id_str, id_str_size) < 0) in qcow_write_snapshots()
167 if (bdrv_pwrite_sync(bs->file, offset, sn->name, name_size) < 0) in qcow_write_snapshots()
195 QCowSnapshot *sn; in find_new_snapshot_id() local
199 sn = s->snapshots + i; in find_new_snapshot_id()
200 id = strtoul(sn->id_str, NULL, 10); in find_new_snapshot_id()
238 QCowSnapshot *snapshots1, sn1, *sn = &sn1; in qcow2_snapshot_create() local
243 memset(sn, 0, sizeof(*sn)); in qcow2_snapshot_create()
254 sn->id_str = qemu_strdup(sn_info->id_str); in qcow2_snapshot_create()
255 if (!sn->id_str) in qcow2_snapshot_create()
257 sn->name = qemu_strdup(sn_info->name); in qcow2_snapshot_create()
258 if (!sn->name) in qcow2_snapshot_create()
260 sn->vm_state_size = sn_info->vm_state_size; in qcow2_snapshot_create()
261 sn->date_sec = sn_info->date_sec; in qcow2_snapshot_create()
262 sn->date_nsec = sn_info->date_nsec; in qcow2_snapshot_create()
263 sn->vm_clock_nsec = sn_info->vm_clock_nsec; in qcow2_snapshot_create()
275 sn->l1_table_offset = l1_table_offset; in qcow2_snapshot_create()
276 sn->l1_size = s->l1_size; in qcow2_snapshot_create()
287 if (bdrv_pwrite_sync(bs->file, sn->l1_table_offset, in qcow2_snapshot_create()
299 s->snapshots[s->nb_snapshots++] = *sn; in qcow2_snapshot_create()
308 qemu_free(sn->name); in qcow2_snapshot_create()
317 QCowSnapshot *sn; in qcow2_snapshot_goto() local
323 sn = &s->snapshots[snapshot_index]; in qcow2_snapshot_goto()
328 if (qcow2_grow_l1_table(bs, sn->l1_size) < 0) in qcow2_snapshot_goto()
331 s->l1_size = sn->l1_size; in qcow2_snapshot_goto()
334 if (bdrv_pread(bs->file, sn->l1_table_offset, in qcow2_snapshot_goto()
358 QCowSnapshot *sn; in qcow2_snapshot_delete() local
364 sn = &s->snapshots[snapshot_index]; in qcow2_snapshot_delete()
366 ret = qcow2_update_snapshot_refcount(bs, sn->l1_table_offset, sn->l1_size, -1); in qcow2_snapshot_delete()
373 qcow2_free_clusters(bs, sn->l1_table_offset, sn->l1_size * sizeof(uint64_t)); in qcow2_snapshot_delete()
375 qemu_free(sn->id_str); in qcow2_snapshot_delete()
376 qemu_free(sn->name); in qcow2_snapshot_delete()
377 memmove(sn, sn + 1, (s->nb_snapshots - snapshot_index - 1) * sizeof(*sn)); in qcow2_snapshot_delete()
394 QCowSnapshot *sn; in qcow2_snapshot_list() local
405 sn = s->snapshots + i; in qcow2_snapshot_list()
407 sn->id_str); in qcow2_snapshot_list()
409 sn->name); in qcow2_snapshot_list()
410 sn_info->vm_state_size = sn->vm_state_size; in qcow2_snapshot_list()
411 sn_info->date_sec = sn->date_sec; in qcow2_snapshot_list()
412 sn_info->date_nsec = sn->date_nsec; in qcow2_snapshot_list()
413 sn_info->vm_clock_nsec = sn->vm_clock_nsec; in qcow2_snapshot_list()