Re: [PATCH 2/3] xen: modify xenstore watch event interface

From: Juergen Gross
Date: Mon Jan 09 2017 - 02:12:46 EST


On 06/01/17 22:57, Boris Ostrovsky wrote:
> On 01/06/2017 10:05 AM, Juergen Gross wrote:
>> Today a Xenstore watch event is delivered via a callback function
>> declared as:
>>
>> void (*callback)(struct xenbus_watch *,
>> const char **vec, unsigned int len);
>>
>> As all watch events only ever come with two parameters (path and token)
>> changing the prototype to:
>>
>> void (*callback)(struct xenbus_watch *,
>> const char *path, const char *token);
>>
>> is the natural thing to do.
>>
>> Apply this change and adapt all users.
>>
>> Cc: konrad.wilk@xxxxxxxxxx
>> Cc: roger.pau@xxxxxxxxxx
>> Cc: wei.liu2@xxxxxxxxxx
>> Cc: paul.durrant@xxxxxxxxxx
>> Cc: netdev@xxxxxxxxxxxxxxx
>>
>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>
>
>>
>> @@ -903,24 +902,24 @@ static int process_msg(void)
>> body[msg->hdr.len] = '\0';
>>
>> if (msg->hdr.type == XS_WATCH_EVENT) {
>> - msg->u.watch.vec = split(body, msg->hdr.len,
>> - &msg->u.watch.vec_size);
>> - if (IS_ERR(msg->u.watch.vec)) {
>> - err = PTR_ERR(msg->u.watch.vec);
>> + if (count_strings(body, msg->hdr.len) != 2) {
>> + err = -EINVAL;
>
> xenbus_write_watch() returns -EILSEQ when this type of error is
> encountered so perhaps for we should return the same error here.

Not since 9a6161fe73bdd3ae4a1e18421b0b20cb7141f680. :-)

>
> Either way
>
> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>

Thanks,

Juergen