All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather()
@ 2016-10-24 15:08 Jan Beulich
  2016-10-25  7:52 ` Paul Durrant
  2016-10-25  7:52 ` Paul Durrant
  0 siblings, 2 replies; 8+ messages in thread
From: Jan Beulich @ 2016-10-24 15:08 UTC (permalink / raw)
  To: Paul Durrant, Wei Liu
  Cc: david.vrabel, xen-devel, boris.ostrovsky, Juergen Gross, netdev

For single items being collected this should be preferred as being more
typesafe (as the compiler can check format string and to-be-written-to
variable match) and more efficient (requiring one less parameter to be
passed).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Avoid commit message to continue from subject.
---
 drivers/net/xen-netback/xenbus.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

--- 4.9-rc2/drivers/net/xen-netback/xenbus.c
+++ 4.9-rc2-xen-netback-prefer-xenbus_scanf/drivers/net/xen-netback/xenbus.c
@@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct back
 	unsigned int evtchn;
 	int err;
 
-	err = xenbus_gather(XBT_NIL, dev->otherend,
-			    "ctrl-ring-ref", "%u", &val, NULL);
-	if (err)
+	err = xenbus_scanf(XBT_NIL, dev->otherend,
+			   "ctrl-ring-ref", "%u", &val);
+	if (err <= 0)
 		goto done; /* The frontend does not have a control ring */
 
 	ring_ref = val;
 
-	err = xenbus_gather(XBT_NIL, dev->otherend,
-			    "event-channel-ctrl", "%u", &val, NULL);
-	if (err) {
+	err = xenbus_scanf(XBT_NIL, dev->otherend,
+			   "event-channel-ctrl", "%u", &val);
+	if (err <= 0) {
 		xenbus_dev_fatal(dev, err,
 				 "reading %s/event-channel-ctrl",
 				 dev->otherend);
@@ -919,7 +919,7 @@ done:
 	return 0;
 
 fail:
-	return err;
+	return err ?: -ENODATA;
 }
 
 static void connect(struct backend_info *be)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather()
  2016-10-24 15:08 [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather() Jan Beulich
@ 2016-10-25  7:52 ` Paul Durrant
  2016-10-25  8:22   ` Jan Beulich
  2016-10-25  8:22   ` Jan Beulich
  2016-10-25  7:52 ` Paul Durrant
  1 sibling, 2 replies; 8+ messages in thread
From: Paul Durrant @ 2016-10-25  7:52 UTC (permalink / raw)
  To: Jan Beulich, Wei Liu
  Cc: David Vrabel, xen-devel, boris.ostrovsky, Juergen Gross, netdev

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: 24 October 2016 16:08
> To: Paul Durrant <Paul.Durrant@citrix.com>; Wei Liu <wei.liu2@citrix.com>
> Cc: David Vrabel <david.vrabel@citrix.com>; xen-devel@lists.xenproject.org;
> boris.ostrovsky@oracle.com; Juergen Gross <JGross@suse.com>;
> netdev@vger.kernel.org
> Subject: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over
> xenbus_gather()
> 
> For single items being collected this should be preferred as being more
> typesafe (as the compiler can check format string and to-be-written-to
> variable match) and more efficient (requiring one less parameter to be
> passed).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Avoid commit message to continue from subject.
> ---
>  drivers/net/xen-netback/xenbus.c |   14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> --- 4.9-rc2/drivers/net/xen-netback/xenbus.c
> +++ 4.9-rc2-xen-netback-prefer-xenbus_scanf/drivers/net/xen-
> netback/xenbus.c
> @@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct back
>  	unsigned int evtchn;
>  	int err;
> 
> -	err = xenbus_gather(XBT_NIL, dev->otherend,
> -			    "ctrl-ring-ref", "%u", &val, NULL);
> -	if (err)
> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
> +			   "ctrl-ring-ref", "%u", &val);
> +	if (err <= 0)

Looking at other uses of xenbus_scanf() in the same code I think the check here should be if (err < 0). It's a nit, since xenbus_scanf() cannot return 0, but it would be better for consistency I think.

>  		goto done; /* The frontend does not have a control ring */
> 
>  	ring_ref = val;
> 
> -	err = xenbus_gather(XBT_NIL, dev->otherend,
> -			    "event-channel-ctrl", "%u", &val, NULL);
> -	if (err) {
> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
> +			   "event-channel-ctrl", "%u", &val);
> +	if (err <= 0) {
>  		xenbus_dev_fatal(dev, err,
>  				 "reading %s/event-channel-ctrl",
>  				 dev->otherend);
> @@ -919,7 +919,7 @@ done:
>  	return 0;
> 
>  fail:
> -	return err;
> +	return err ?: -ENODATA;

I don't think you need this.

  Paul

>  }
> 
>  static void connect(struct backend_info *be)
> 
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather()
  2016-10-24 15:08 [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather() Jan Beulich
  2016-10-25  7:52 ` Paul Durrant
@ 2016-10-25  7:52 ` Paul Durrant
  1 sibling, 0 replies; 8+ messages in thread
From: Paul Durrant @ 2016-10-25  7:52 UTC (permalink / raw)
  To: Jan Beulich, Wei Liu
  Cc: Juergen Gross, xen-devel, boris.ostrovsky, David Vrabel, netdev

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: 24 October 2016 16:08
> To: Paul Durrant <Paul.Durrant@citrix.com>; Wei Liu <wei.liu2@citrix.com>
> Cc: David Vrabel <david.vrabel@citrix.com>; xen-devel@lists.xenproject.org;
> boris.ostrovsky@oracle.com; Juergen Gross <JGross@suse.com>;
> netdev@vger.kernel.org
> Subject: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over
> xenbus_gather()
> 
> For single items being collected this should be preferred as being more
> typesafe (as the compiler can check format string and to-be-written-to
> variable match) and more efficient (requiring one less parameter to be
> passed).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Avoid commit message to continue from subject.
> ---
>  drivers/net/xen-netback/xenbus.c |   14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> --- 4.9-rc2/drivers/net/xen-netback/xenbus.c
> +++ 4.9-rc2-xen-netback-prefer-xenbus_scanf/drivers/net/xen-
> netback/xenbus.c
> @@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct back
>  	unsigned int evtchn;
>  	int err;
> 
> -	err = xenbus_gather(XBT_NIL, dev->otherend,
> -			    "ctrl-ring-ref", "%u", &val, NULL);
> -	if (err)
> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
> +			   "ctrl-ring-ref", "%u", &val);
> +	if (err <= 0)

Looking at other uses of xenbus_scanf() in the same code I think the check here should be if (err < 0). It's a nit, since xenbus_scanf() cannot return 0, but it would be better for consistency I think.

>  		goto done; /* The frontend does not have a control ring */
> 
>  	ring_ref = val;
> 
> -	err = xenbus_gather(XBT_NIL, dev->otherend,
> -			    "event-channel-ctrl", "%u", &val, NULL);
> -	if (err) {
> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
> +			   "event-channel-ctrl", "%u", &val);
> +	if (err <= 0) {
>  		xenbus_dev_fatal(dev, err,
>  				 "reading %s/event-channel-ctrl",
>  				 dev->otherend);
> @@ -919,7 +919,7 @@ done:
>  	return 0;
> 
>  fail:
> -	return err;
> +	return err ?: -ENODATA;

I don't think you need this.

  Paul

>  }
> 
>  static void connect(struct backend_info *be)
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather()
  2016-10-25  7:52 ` Paul Durrant
  2016-10-25  8:22   ` Jan Beulich
@ 2016-10-25  8:22   ` Jan Beulich
  2016-10-25  8:52     ` Paul Durrant
  2016-10-25  8:52     ` Paul Durrant
  1 sibling, 2 replies; 8+ messages in thread
From: Jan Beulich @ 2016-10-25  8:22 UTC (permalink / raw)
  To: Paul Durrant
  Cc: David Vrabel, Wei Liu, xen-devel, boris.ostrovsky, Juergen Gross, netdev

>>> On 25.10.16 at 09:52, <Paul.Durrant@citrix.com> wrote:
>> From: Jan Beulich [mailto:JBeulich@suse.com]
>> Sent: 24 October 2016 16:08
>> --- 4.9-rc2/drivers/net/xen-netback/xenbus.c
>> +++ 4.9-rc2-xen-netback-prefer-xenbus_scanf/drivers/net/xen-netback/xenbus.c
>> @@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct back
>>  	unsigned int evtchn;
>>  	int err;
>> 
>> -	err = xenbus_gather(XBT_NIL, dev->otherend,
>> -			    "ctrl-ring-ref", "%u", &val, NULL);
>> -	if (err)
>> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
>> +			   "ctrl-ring-ref", "%u", &val);
>> +	if (err <= 0)
> 
> Looking at other uses of xenbus_scanf() in the same code I think the check 
> here should be if (err < 0). It's a nit, since xenbus_scanf() cannot return 0, 
> but it would be better for consistency I think.

Hmm, this goes back to the discussion following from
https://lists.xenproject.org/archives/html/xen-devel/2016-07/msg00678.html
which in fact you had given your R-b back then. I continue to be
of the opinion that callers should not leverage the fact that
xenbus_scanf() can't return zero. They instead should check for
an explicit success indicator (which only positive values are). But
you're the maintainer of the code, so if you now think the same
way David does, I guess I'll have to make the adjustment.

>>  		goto done; /* The frontend does not have a control ring */
>> 
>>  	ring_ref = val;
>> 
>> -	err = xenbus_gather(XBT_NIL, dev->otherend,
>> -			    "event-channel-ctrl", "%u", &val, NULL);
>> -	if (err) {
>> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
>> +			   "event-channel-ctrl", "%u", &val);
>> +	if (err <= 0) {
>>  		xenbus_dev_fatal(dev, err,
>>  				 "reading %s/event-channel-ctrl",
>>  				 dev->otherend);
>> @@ -919,7 +919,7 @@ done:
>>  	return 0;
>> 
>>  fail:
>> -	return err;
>> +	return err ?: -ENODATA;
> 
> I don't think you need this.

If the other change gets made, then indeed this isn't needed.

Jan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather()
  2016-10-25  7:52 ` Paul Durrant
@ 2016-10-25  8:22   ` Jan Beulich
  2016-10-25  8:22   ` Jan Beulich
  1 sibling, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2016-10-25  8:22 UTC (permalink / raw)
  To: Paul Durrant
  Cc: Juergen Gross, Wei Liu, netdev, David Vrabel, xen-devel, boris.ostrovsky

>>> On 25.10.16 at 09:52, <Paul.Durrant@citrix.com> wrote:
>> From: Jan Beulich [mailto:JBeulich@suse.com]
>> Sent: 24 October 2016 16:08
>> --- 4.9-rc2/drivers/net/xen-netback/xenbus.c
>> +++ 4.9-rc2-xen-netback-prefer-xenbus_scanf/drivers/net/xen-netback/xenbus.c
>> @@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct back
>>  	unsigned int evtchn;
>>  	int err;
>> 
>> -	err = xenbus_gather(XBT_NIL, dev->otherend,
>> -			    "ctrl-ring-ref", "%u", &val, NULL);
>> -	if (err)
>> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
>> +			   "ctrl-ring-ref", "%u", &val);
>> +	if (err <= 0)
> 
> Looking at other uses of xenbus_scanf() in the same code I think the check 
> here should be if (err < 0). It's a nit, since xenbus_scanf() cannot return 0, 
> but it would be better for consistency I think.

Hmm, this goes back to the discussion following from
https://lists.xenproject.org/archives/html/xen-devel/2016-07/msg00678.html
which in fact you had given your R-b back then. I continue to be
of the opinion that callers should not leverage the fact that
xenbus_scanf() can't return zero. They instead should check for
an explicit success indicator (which only positive values are). But
you're the maintainer of the code, so if you now think the same
way David does, I guess I'll have to make the adjustment.

>>  		goto done; /* The frontend does not have a control ring */
>> 
>>  	ring_ref = val;
>> 
>> -	err = xenbus_gather(XBT_NIL, dev->otherend,
>> -			    "event-channel-ctrl", "%u", &val, NULL);
>> -	if (err) {
>> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
>> +			   "event-channel-ctrl", "%u", &val);
>> +	if (err <= 0) {
>>  		xenbus_dev_fatal(dev, err,
>>  				 "reading %s/event-channel-ctrl",
>>  				 dev->otherend);
>> @@ -919,7 +919,7 @@ done:
>>  	return 0;
>> 
>>  fail:
>> -	return err;
>> +	return err ?: -ENODATA;
> 
> I don't think you need this.

If the other change gets made, then indeed this isn't needed.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather()
  2016-10-25  8:22   ` Jan Beulich
@ 2016-10-25  8:52     ` Paul Durrant
  2016-10-25  8:52     ` Paul Durrant
  1 sibling, 0 replies; 8+ messages in thread
From: Paul Durrant @ 2016-10-25  8:52 UTC (permalink / raw)
  To: Jan Beulich
  Cc: David Vrabel, Wei Liu, xen-devel, boris.ostrovsky, Juergen Gross, netdev

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: 25 October 2016 09:23
> To: Paul Durrant <Paul.Durrant@citrix.com>
> Cc: David Vrabel <david.vrabel@citrix.com>; Wei Liu <wei.liu2@citrix.com>;
> xen-devel@lists.xenproject.org; boris.ostrovsky@oracle.com; Juergen Gross
> <JGross@suse.com>; netdev@vger.kernel.org
> Subject: RE: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over
> xenbus_gather()
> 
> >>> On 25.10.16 at 09:52, <Paul.Durrant@citrix.com> wrote:
> >> From: Jan Beulich [mailto:JBeulich@suse.com]
> >> Sent: 24 October 2016 16:08
> >> --- 4.9-rc2/drivers/net/xen-netback/xenbus.c
> >> +++ 4.9-rc2-xen-netback-prefer-xenbus_scanf/drivers/net/xen-
> netback/xenbus.c
> >> @@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct back
> >>  	unsigned int evtchn;
> >>  	int err;
> >>
> >> -	err = xenbus_gather(XBT_NIL, dev->otherend,
> >> -			    "ctrl-ring-ref", "%u", &val, NULL);
> >> -	if (err)
> >> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
> >> +			   "ctrl-ring-ref", "%u", &val);
> >> +	if (err <= 0)
> >
> > Looking at other uses of xenbus_scanf() in the same code I think the check
> > here should be if (err < 0). It's a nit, since xenbus_scanf() cannot return 0,
> > but it would be better for consistency I think.
> 
> Hmm, this goes back to the discussion following from
> https://lists.xenproject.org/archives/html/xen-devel/2016-
> 07/msg00678.html
> which in fact you had given your R-b back then. I continue to be
> of the opinion that callers should not leverage the fact that
> xenbus_scanf() can't return zero. They instead should check for
> an explicit success indicator (which only positive values are). But
> you're the maintainer of the code, so if you now think the same
> way David does, I guess I'll have to make the adjustment.
> 
> >>  		goto done; /* The frontend does not have a control ring */
> >>
> >>  	ring_ref = val;
> >>
> >> -	err = xenbus_gather(XBT_NIL, dev->otherend,
> >> -			    "event-channel-ctrl", "%u", &val, NULL);
> >> -	if (err) {
> >> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
> >> +			   "event-channel-ctrl", "%u", &val);
> >> +	if (err <= 0) {
> >>  		xenbus_dev_fatal(dev, err,
> >>  				 "reading %s/event-channel-ctrl",
> >>  				 dev->otherend);
> >> @@ -919,7 +919,7 @@ done:
> >>  	return 0;
> >>
> >>  fail:
> >> -	return err;
> >> +	return err ?: -ENODATA;
> >
> > I don't think you need this.
> 
> If the other change gets made, then indeed this isn't needed.

Yes, and that's why I prefer to opt for consistency with other code in this case.

  Paul

> 
> Jan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather()
  2016-10-25  8:22   ` Jan Beulich
  2016-10-25  8:52     ` Paul Durrant
@ 2016-10-25  8:52     ` Paul Durrant
  1 sibling, 0 replies; 8+ messages in thread
From: Paul Durrant @ 2016-10-25  8:52 UTC (permalink / raw)
  To: Jan Beulich
  Cc: Juergen Gross, Wei Liu, netdev, David Vrabel, xen-devel, boris.ostrovsky

> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@suse.com]
> Sent: 25 October 2016 09:23
> To: Paul Durrant <Paul.Durrant@citrix.com>
> Cc: David Vrabel <david.vrabel@citrix.com>; Wei Liu <wei.liu2@citrix.com>;
> xen-devel@lists.xenproject.org; boris.ostrovsky@oracle.com; Juergen Gross
> <JGross@suse.com>; netdev@vger.kernel.org
> Subject: RE: [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over
> xenbus_gather()
> 
> >>> On 25.10.16 at 09:52, <Paul.Durrant@citrix.com> wrote:
> >> From: Jan Beulich [mailto:JBeulich@suse.com]
> >> Sent: 24 October 2016 16:08
> >> --- 4.9-rc2/drivers/net/xen-netback/xenbus.c
> >> +++ 4.9-rc2-xen-netback-prefer-xenbus_scanf/drivers/net/xen-
> netback/xenbus.c
> >> @@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct back
> >>  	unsigned int evtchn;
> >>  	int err;
> >>
> >> -	err = xenbus_gather(XBT_NIL, dev->otherend,
> >> -			    "ctrl-ring-ref", "%u", &val, NULL);
> >> -	if (err)
> >> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
> >> +			   "ctrl-ring-ref", "%u", &val);
> >> +	if (err <= 0)
> >
> > Looking at other uses of xenbus_scanf() in the same code I think the check
> > here should be if (err < 0). It's a nit, since xenbus_scanf() cannot return 0,
> > but it would be better for consistency I think.
> 
> Hmm, this goes back to the discussion following from
> https://lists.xenproject.org/archives/html/xen-devel/2016-
> 07/msg00678.html
> which in fact you had given your R-b back then. I continue to be
> of the opinion that callers should not leverage the fact that
> xenbus_scanf() can't return zero. They instead should check for
> an explicit success indicator (which only positive values are). But
> you're the maintainer of the code, so if you now think the same
> way David does, I guess I'll have to make the adjustment.
> 
> >>  		goto done; /* The frontend does not have a control ring */
> >>
> >>  	ring_ref = val;
> >>
> >> -	err = xenbus_gather(XBT_NIL, dev->otherend,
> >> -			    "event-channel-ctrl", "%u", &val, NULL);
> >> -	if (err) {
> >> +	err = xenbus_scanf(XBT_NIL, dev->otherend,
> >> +			   "event-channel-ctrl", "%u", &val);
> >> +	if (err <= 0) {
> >>  		xenbus_dev_fatal(dev, err,
> >>  				 "reading %s/event-channel-ctrl",
> >>  				 dev->otherend);
> >> @@ -919,7 +919,7 @@ done:
> >>  	return 0;
> >>
> >>  fail:
> >> -	return err;
> >> +	return err ?: -ENODATA;
> >
> > I don't think you need this.
> 
> If the other change gets made, then indeed this isn't needed.

Yes, and that's why I prefer to opt for consistency with other code in this case.

  Paul

> 
> Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather()
@ 2016-10-24 15:08 Jan Beulich
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2016-10-24 15:08 UTC (permalink / raw)
  To: Paul Durrant, Wei Liu
  Cc: Juergen Gross, xen-devel, boris.ostrovsky, david.vrabel, netdev

For single items being collected this should be preferred as being more
typesafe (as the compiler can check format string and to-be-written-to
variable match) and more efficient (requiring one less parameter to be
passed).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Avoid commit message to continue from subject.
---
 drivers/net/xen-netback/xenbus.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

--- 4.9-rc2/drivers/net/xen-netback/xenbus.c
+++ 4.9-rc2-xen-netback-prefer-xenbus_scanf/drivers/net/xen-netback/xenbus.c
@@ -889,16 +889,16 @@ static int connect_ctrl_ring(struct back
 	unsigned int evtchn;
 	int err;
 
-	err = xenbus_gather(XBT_NIL, dev->otherend,
-			    "ctrl-ring-ref", "%u", &val, NULL);
-	if (err)
+	err = xenbus_scanf(XBT_NIL, dev->otherend,
+			   "ctrl-ring-ref", "%u", &val);
+	if (err <= 0)
 		goto done; /* The frontend does not have a control ring */
 
 	ring_ref = val;
 
-	err = xenbus_gather(XBT_NIL, dev->otherend,
-			    "event-channel-ctrl", "%u", &val, NULL);
-	if (err) {
+	err = xenbus_scanf(XBT_NIL, dev->otherend,
+			   "event-channel-ctrl", "%u", &val);
+	if (err <= 0) {
 		xenbus_dev_fatal(dev, err,
 				 "reading %s/event-channel-ctrl",
 				 dev->otherend);
@@ -919,7 +919,7 @@ done:
 	return 0;
 
 fail:
-	return err;
+	return err ?: -ENODATA;
 }
 
 static void connect(struct backend_info *be)



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-10-25  8:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-24 15:08 [PATCH v2 RESEND] xen-netback: prefer xenbus_scanf() over xenbus_gather() Jan Beulich
2016-10-25  7:52 ` Paul Durrant
2016-10-25  8:22   ` Jan Beulich
2016-10-25  8:22   ` Jan Beulich
2016-10-25  8:52     ` Paul Durrant
2016-10-25  8:52     ` Paul Durrant
2016-10-25  7:52 ` Paul Durrant
2016-10-24 15:08 Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.