[libvirt] [PATCH] qemu: Report cmdline output if VM dies early

Cole Robinson crobinso at redhat.com
Mon May 17 14:19:11 UTC 2010


On 05/04/2010 04:58 PM, Eric Blake wrote:
> On 04/30/2010 09:44 AM, Cole Robinson wrote:
>> qemuReadLogOutput early VM death detection is racy and won't always work.
>> Startup then errors when connecting to the VM monitor. This won't report
>> the emulator cmdline output which is typically the most useful diagnostic.
>>
>> Check if the VM has died at the very end of the monitor connection step,
>> and if so, report the cmdline output.
> 
>> +static void
>> +qemuReadLogFD(int logfd, char *buf, int maxlen, int off)
>> +{
>> +    int ret;
>> +    char *tmpbuf = buf+off;
> 
> Isn't the style to separate operators by space?  'buf + off'
> 
>> +
>> +    ret = saferead(logfd, tmpbuf, maxlen-off-1);
> 
> Likewise, 'maxlen - off - 1'.
> 
>> +    if (ret < 0) {
>> +        ret = 0;
>> +    }
>> +
>> +    *(tmpbuf+ret) = '\0';
> 
> Stylistically, I like 'tmpbuf[ret]' better than '*(tmpbuf+ret)'.
> 

Doh, I was overthinking here :)

>> +}
>> +
>>  static int
>>  qemudWaitForMonitor(struct qemud_driver* driver,
>>                      virDomainObjPtr vm, off_t pos)
>>  {
>> -    char buf[4096]; /* Plenty of space to get startup greeting */
>> +    char buf[4096] = "\0"; /* Plenty of space to get startup greeting */
> 
> "" is sufficient; you don't have to use "\0" to zero-initialize a
> statically sized char[].
> 
> But overall, the patch looks sane; I didn't see any logic errors.
> ACK with the style nits addressed.
> 

Thanks for the review, I made these style adjustments and pushed.

- Cole




More information about the libvir-list mailing list