Revision 078a458e block/vpc.c
b/block/vpc.c | ||
---|---|---|
261 | 261 |
|
262 | 262 |
s->last_bitmap_offset = bitmap_offset; |
263 | 263 |
memset(bitmap, 0xff, s->bitmap_size); |
264 |
bdrv_pwrite(bs->file, bitmap_offset, bitmap, s->bitmap_size); |
|
264 |
bdrv_pwrite_sync(bs->file, bitmap_offset, bitmap, s->bitmap_size);
|
|
265 | 265 |
} |
266 | 266 |
|
267 | 267 |
// printf("sector: %" PRIx64 ", index: %x, offset: %x, bioff: %" PRIx64 ", bloff: %" PRIx64 "\n", |
... | ... | |
311 | 311 |
BDRVVPCState *s = bs->opaque; |
312 | 312 |
int64_t offset = s->free_data_block_offset; |
313 | 313 |
|
314 |
ret = bdrv_pwrite(bs->file, offset, s->footer_buf, HEADER_SIZE); |
|
314 |
ret = bdrv_pwrite_sync(bs->file, offset, s->footer_buf, HEADER_SIZE);
|
|
315 | 315 |
if (ret < 0) |
316 | 316 |
return ret; |
317 | 317 |
|
... | ... | |
346 | 346 |
|
347 | 347 |
// Initialize the block's bitmap |
348 | 348 |
memset(bitmap, 0xff, s->bitmap_size); |
349 |
bdrv_pwrite(bs->file, s->free_data_block_offset, bitmap, s->bitmap_size); |
|
349 |
bdrv_pwrite_sync(bs->file, s->free_data_block_offset, bitmap, |
|
350 |
s->bitmap_size); |
|
350 | 351 |
|
351 | 352 |
// Write new footer (the old one will be overwritten) |
352 | 353 |
s->free_data_block_offset += s->block_size + s->bitmap_size; |
... | ... | |
357 | 358 |
// Write BAT entry to disk |
358 | 359 |
bat_offset = s->bat_offset + (4 * index); |
359 | 360 |
bat_value = be32_to_cpu(s->pagetable[index]); |
360 |
ret = bdrv_pwrite(bs->file, bat_offset, &bat_value, 4); |
|
361 |
ret = bdrv_pwrite_sync(bs->file, bat_offset, &bat_value, 4);
|
|
361 | 362 |
if (ret < 0) |
362 | 363 |
goto fail; |
363 | 364 |
|
Also available in: Unified diff