On 09/16/2016 11:08 AM, Kevin Wolf wrote:
> 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
thank for an idea!

Den

Reply via email to