qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] watchdog: Allow setting action on the fly


From: Michal Privoznik
Subject: Re: [Qemu-devel] [PATCH v2] watchdog: Allow setting action on the fly
Date: Wed, 6 Sep 2017 08:02:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

On 09/05/2017 10:36 PM, Eric Blake wrote:
> On 09/05/2017 08:22 AM, Michal Privoznik wrote:
>> Currently, the only time that users can set watchdog action is at
>> the start as all we expose is this -watchdog-action command line
>> argument. This is suboptimal when users want to plug the device
>> later via monitor. Alternatively, they might want to change the
>> action for already existing device on the fly.
>>
>> At the same time, drop local redefinition of the actions eum in
> 
> s/eum/enum/
> 
>> watchdog.h in favour of the ones defined in schema.
>>
>> Inspired by: https://bugzilla.redhat.com/show_bug.cgi?id=1447169
>>
>> Signed-off-by: Michal Privoznik <address@hidden>
>> ---
> 
>> @@ -77,27 +80,17 @@ int select_watchdog(const char *p)
>>  
>>  int select_watchdog_action(const char *p)
>>  {
> 
>> +    int action;
>>  
>> +    action = qapi_enum_parse(WatchdogExpirationAction_lookup, p,
>> +                             WATCHDOG_EXPIRATION_ACTION__MAX, -1, NULL);
> 
> Semantic conflict; you need to rebase now that the qapi enum lookup code
> has landed (see commit ebf677c8 and parents)


D'oh. Okay.

> 
>> +
>> +    case WATCHDOG_EXPIRATION_ACTION__MAX:
>> +        /* keep gcc happy */
>> +        break;
> 
> Could use g_assert_not_reached() here instead.
> 
>> +++ b/qapi-schema.json
>> @@ -6539,3 +6539,12 @@
>>  # Since 2.9
>>  ##
>>  { 'command': 'query-vm-generation-id', 'returns': 'GuidInfo' }
>> +
>> +##
>> +# @watchdog-set-action:
>> +#
>> +# Set watchdog action
>> +#
>> +# Since 2.11
>> +##
>> +{ 'command': 'watchdog-set-action', 'data' : {'action': 
>> 'WatchdogExpirationAction'} }
> 
> Can a machine have more than one watchdog device, in which case you'd
> want a device name to select which watchdog gets which action?  But the
> command-line version that you are replacing seems to be global, so I
> guess you're okay with this interface.
> 

Yeah, I don't think that a guest can have more than one watchdog:

/qemu.git $ ./x86_64-softmmu/qemu-system-x86_64 \
-watchdog ib700 -watchdog i6300esb
qemu-system-x86_64: -watchdog i6300esb: only one watchdog option may be
given

Also, would it make sense? I mean, what would be the benefit of having
two or more watchdogs?

Michal



reply via email to

[Prev in Thread] Current Thread [Next in Thread]