mirror of https://gitee.com/openkylin/qemu.git
block: make bdrv_set_enable_write_cache() modify open_flags
bdrv_set_enable_write_cache() sets the bs->enable_write_cache flag, but without the flag recorded in bs->open_flags, then next time a reopen() is performed the enable_write_cache setting may be inadvertently lost. This will set the flag in open_flags, so it is preserved across reopens. Signed-off-by: Jeff Cody <jcody@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
be028adced
commit
55b110f24e
7
block.c
7
block.c
|
@ -2168,6 +2168,13 @@ int bdrv_enable_write_cache(BlockDriverState *bs)
|
||||||
void bdrv_set_enable_write_cache(BlockDriverState *bs, bool wce)
|
void bdrv_set_enable_write_cache(BlockDriverState *bs, bool wce)
|
||||||
{
|
{
|
||||||
bs->enable_write_cache = wce;
|
bs->enable_write_cache = wce;
|
||||||
|
|
||||||
|
/* so a reopen() will preserve wce */
|
||||||
|
if (wce) {
|
||||||
|
bs->open_flags |= BDRV_O_CACHE_WB;
|
||||||
|
} else {
|
||||||
|
bs->open_flags &= ~BDRV_O_CACHE_WB;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int bdrv_is_encrypted(BlockDriverState *bs)
|
int bdrv_is_encrypted(BlockDriverState *bs)
|
||||||
|
|
Loading…
Reference in New Issue