[Sheepdog] [PATCH 5/5] logger: fix the vprintf() bug
AndyChen
andychenzy at gmail.com
Thu Oct 13 09:25:07 CEST 2011
2011/10/13 Liu Yuan <namei.unix at gmail.com>:
> On 10/13/2011 12:12 PM, AndyChen wrote:
>>
>>>> - vprintf(SDOG_INFO "we create a new vdi, %d %s (%zd) %" PRIu64 ",
>>>> vid: %"
>>>> + vprintf(SDOG_INFO, "we create a new vdi, %d %s (%zd) %" PRIu64
>>>> ", vid: %"
>>>> PRIx32 ", base %" PRIx32 ", cur %" PRIx32 " \n",
>>>> is_snapshot, name, strlen(name), size, *new_vid,
>>>> base_vid, cur_vid);
>>>>
>>>> if (!copies) {
>>>> - vprintf(SDOG_WARNING "qemu doesn't specify the copies...
>>>> %d\n",
>>>> + vprintf(SDOG_WARNING, "qemu doesn't specify the
>>>> copies... %d\n",
>>>> sys->nr_sobjs);
>>>> copies = sys->nr_sobjs;
>>>> }
>>>
>>> Why we need extra ',' in vprintf?
>>
>> it is not extra, now vprintf() use log_write() which defined in
>> sheepdog/include/logger.h,
>> log_write() has log level parameter 'prio', but vrpintf() does not
>> parse the log level, use LOG_INFO default.
>> you mean use vprintf() such as use printk()?
>>
>
> I didn't get you meant. but the definition vprintf(fmt, args...) shows that
> 'fmt' is the constant char *, so I don't think we need to place ',' between
> two format strings. I look at the printk implementation in linux kernel,
> there is no such ',' between format strings either.
here the vprintf defined by the sheep logger, not the standard library
function: vprintf(fmt, args...)
>
> Thanks,
> Yuan
>
>
More information about the sheepdog
mailing list