*/
#include "qemu/osdep.h"
+#include "block/block-io.h"
#include "qemu/memalign.h"
#include "qcow2.h"
#include "trace.h"
/* Using MADV_DONTNEED to discard memory is a Linux-specific feature */
#ifdef CONFIG_LINUX
void *t = qcow2_cache_get_table_addr(c, i);
- int align = qemu_real_host_page_size;
+ int align = qemu_real_host_page_size();
size_t mem_size = (size_t) c->table_size * num_tables;
size_t offset = QEMU_ALIGN_UP((uintptr_t) t, align) - (uintptr_t) t;
size_t length = QEMU_ALIGN_DOWN(mem_size - offset, align);
BLKDBG_EVENT(bs->file, BLKDBG_L2_UPDATE);
}
- ret = bdrv_pwrite(bs->file, c->entries[i].offset,
- qcow2_cache_get_table_addr(c, i), c->table_size);
+ ret = bdrv_pwrite(bs->file, c->entries[i].offset, c->table_size,
+ qcow2_cache_get_table_addr(c, i), 0);
if (ret < 0) {
return ret;
}
BLKDBG_EVENT(bs->file, BLKDBG_L2_LOAD);
}
- ret = bdrv_pread(bs->file, offset,
- qcow2_cache_get_table_addr(c, i),
- c->table_size);
+ ret = bdrv_pread(bs->file, offset, c->table_size,
+ qcow2_cache_get_table_addr(c, i), 0);
if (ret < 0) {
return ret;
}