mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 10:13:56 -06:00
block: Allow BDRV_REQ_FUA through blk_pwrite()
We have several block drivers that understand BDRV_REQ_FUA, and emulate it in the block layer for the rest by a full flush. But without a way to actually request BDRV_REQ_FUA during a pass-through blk_pwrite(), FUA-aware block drivers like NBD are forced to repeat the emulation logic of a full flush regardless of whether the backend they are writing to could do it more efficiently. This patch just wires up a flags argument; followup patches will actually make use of it in the NBD driver and in qemu-io. Signed-off-by: Eric Blake <eblake@redhat.com> Acked-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
0e01b76e7c
commit
8341f00dc2
15 changed files with 37 additions and 33 deletions
|
@ -124,7 +124,7 @@ static void rtas_nvram_store(PowerPCCPU *cpu, sPAPRMachineState *spapr,
|
|||
|
||||
alen = len;
|
||||
if (nvram->blk) {
|
||||
alen = blk_pwrite(nvram->blk, offset, membuf, len);
|
||||
alen = blk_pwrite(nvram->blk, offset, membuf, len, 0);
|
||||
}
|
||||
|
||||
assert(nvram->buf);
|
||||
|
@ -190,7 +190,7 @@ static int spapr_nvram_post_load(void *opaque, int version_id)
|
|||
sPAPRNVRAM *nvram = VIO_SPAPR_NVRAM(opaque);
|
||||
|
||||
if (nvram->blk) {
|
||||
int alen = blk_pwrite(nvram->blk, 0, nvram->buf, nvram->size);
|
||||
int alen = blk_pwrite(nvram->blk, 0, nvram->buf, nvram->size, 0);
|
||||
|
||||
if (alen < 0) {
|
||||
return alen;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue