Am 15.09.2016 um 18:39 hat Denis V. Lunev geschrieben: > On 09/15/2016 07:09 PM, Kevin Wolf wrote: > > Am 15.09.2016 um 15:19 hat Denis V. Lunev geschrieben: > >> This mode could be very useful for flush bottlenecks evaluation and for > >> running non-persistent VMs, when host crash is considered not fatal. > >> > >> Signed-off-by: Denis V. Lunev <d...@openvz.org> > >> CC: Kevin Wolf <kw...@redhat.com> > >> CC: Max Reitz <mre...@redhat.com> > > Why not just specify the individual options? > > > > -drive file=...,cache.direct=on,cache.no-flush=on > > > > Kevin > then we need to have three options: > cache.direct=on/off > cache.flush=on/off (default on) > cache.writethrough=on/off > What will have preference, old style option, new style option, rightmost > option?
The individual options take precedence, see the code that handles the "cache=..." option in drive_init(): value = qemu_opt_get(all_opts, "cache"); if (value) { int flags = 0; bool writethrough; if (bdrv_parse_cache_mode(value, &flags, &writethrough) != 0) { error_report("invalid cache option"); return NULL; } /* Specific options take precedence */ if (!qemu_opt_get(all_opts, BDRV_OPT_CACHE_WB)) { qemu_opt_set_bool(all_opts, BDRV_OPT_CACHE_WB, !writethrough, &error_abort); } if (!qemu_opt_get(all_opts, BDRV_OPT_CACHE_DIRECT)) { qemu_opt_set_bool(all_opts, BDRV_OPT_CACHE_DIRECT, !!(flags & BDRV_O_NOCACHE), &error_abort); } if (!qemu_opt_get(all_opts, BDRV_OPT_CACHE_NO_FLUSH)) { qemu_opt_set_bool(all_opts, BDRV_OPT_CACHE_NO_FLUSH, !!(flags & BDRV_O_NO_FLUSH), &error_abort); } qemu_opt_unset(all_opts, "cache"); } Kevin