mirror of https://gitee.com/openkylin/qemu.git
qcow2: Allow 'cache-clean-interval' in Linux only
The cache-clean-interval option of qcow2 only works on Linux. However we allow setting it in other systems regardless of whether it works or not. In those systems this option is not simply a no-op: it actually invalidates perfectly valid cache tables for no good reason without freeing their memory. This patch forbids using that option in non-Linux systems. Signed-off-by: Alberto Garcia <berto@igalia.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
2f2c8d6b37
commit
91203f08f0
|
@ -668,6 +668,14 @@ static int qcow2_update_options_prepare(BlockDriverState *bs,
|
|||
r->cache_clean_interval =
|
||||
qemu_opt_get_number(opts, QCOW2_OPT_CACHE_CLEAN_INTERVAL,
|
||||
s->cache_clean_interval);
|
||||
#ifndef CONFIG_LINUX
|
||||
if (r->cache_clean_interval != 0) {
|
||||
error_setg(errp, QCOW2_OPT_CACHE_CLEAN_INTERVAL
|
||||
" not supported on this host");
|
||||
ret = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
#endif
|
||||
if (r->cache_clean_interval > UINT_MAX) {
|
||||
error_setg(errp, "Cache clean interval too big");
|
||||
ret = -EINVAL;
|
||||
|
|
Loading…
Reference in New Issue