Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP4
qemu.30222
xen_disk-Add-suse-specific-flush-disable.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xen_disk-Add-suse-specific-flush-disable.patch of Package qemu.30222
From: Bruce Rogers <brogers@suse.com> Date: Wed, 9 Mar 2016 15:18:11 -0700 Subject: xen_disk: Add suse specific flush disable handling and map to QEMU equiv Add code to read the suse specific suse-diskcache-disable-flush flag out of xenstore, and set the equivalent flag within QEMU. Patch taken from Xen's patch queue, Olaf Hering being the original author. [bsc#879425] [BR: minor edits to pass qemu's checkpatch script] [BR: With qdevification of xen-block, code has changed significantly] Signed-off-by: Bruce Rogers <brogers@suse.com> Signed-off-by: Olaf Hering <olaf@aepfle.de> --- hw/block/xen-block.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index b1a3fa9b6a91f7748ce54d77cad6..f6b66a0428eaa37db4c1bbe7e2c4 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -729,6 +729,8 @@ static XenBlockDrive *xen_block_drive_create(const char *id, const char *mode = qdict_get_try_str(opts, "mode"); const char *direct_io_safe = qdict_get_try_str(opts, "direct-io-safe"); const char *discard_enable = qdict_get_try_str(opts, "discard-enable"); + const char *suse_diskcache_disable_flush = qdict_get_try_str(opts, + "suse-diskcache-disable-flush"); char *driver = NULL; char *filename = NULL; XenBlockDrive *drive = NULL; @@ -797,6 +799,16 @@ static XenBlockDrive *xen_block_drive_create(const char *id, } } + if (suse_diskcache_disable_flush) { + unsigned long value; + if (!qemu_strtoul(suse_diskcache_disable_flush, NULL, 2, &value) && !!value) { + QDict *cache_qdict = qdict_new(); + + qdict_put_bool(cache_qdict, "no-flush", true); + qdict_put_obj(file_layer, "cache", QOBJECT(cache_qdict)); + } + } + /* * It is necessary to turn file locking off as an emulated device * may have already opened the same image file.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor