Skip to contentSkip to conversation

xen-scsiback: correct return value checks on xenbus_scanf()

PATCH Juergen Gross 1 participant 2 messages Jul 7, 2016 1 message not in the archive SCSI

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

Juergen Gross

author Acked-by
#1 lore raw
Quoted 3 lines · Jan Beulich

Only a positive return value indicates success.

Quoted 26 lines
---
 drivers/xen/xen-scsiback.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/xen/xen-scsiback.c +2 -2
@@ -1071,7 +1071,7 @@ static void scsiback_do_1lun_hotplug(str
 	/* read status */
 	snprintf(state, sizeof(state), "vscsi-devs/%s/state", ent);
 	err = xenbus_scanf(XBT_NIL, dev->nodename, state, "%u", &device_state);
-	if (XENBUS_EXIST_ERR(err))
+	if (err <= 0)
 		return;
 
 	/* physical SCSI device */
@@ -1089,7 +1089,7 @@ static void scsiback_do_1lun_hotplug(str
 	snprintf(str, sizeof(str), "vscsi-devs/%s/v-dev", ent);
 	err = xenbus_scanf(XBT_NIL, dev->nodename, str, "%u:%u:%u:%u",
 			   &vir.hst, &vir.chn, &vir.tgt, &vir.lun);
-	if (XENBUS_EXIST_ERR(err)) {
+	if (err != 4) {
 		xenbus_printf(XBT_NIL, dev->nodename, state,
 			      "%d", XenbusStateClosed);
 		return;
author Acked-by
#2 lore raw
In reply to a message not in the archive
Quoted 3 lines · Jan Beulich

Only a positive return value indicates success.

Quoted 18 lines
---
 drivers/xen/xen-scsiback.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/xen/xen-scsiback.c +1 -1
@@ -1071,7 +1071,7 @@ static void scsiback_do_1lun_hotplug(str
 	/* read status */
 	snprintf(state, sizeof(state), "vscsi-devs/%s/state", ent);
 	err = xenbus_scanf(XBT_NIL, dev->nodename, state, "%u", &device_state);
-	if (XENBUS_EXIST_ERR(err))
+	if (err <= 0)
 		return;
 
 	/* physical SCSI device */

drivers/xen/xen-scsiback.c static void scsiback_do_1lun_hotplug(str · line 1095

Quoted 8 lines
drivers/xen/xen-scsiback.c +1 -1
@@ -1089,7 +1089,7 @@ static void scsiback_do_1lun_hotplug(str
 	snprintf(str, sizeof(str), "vscsi-devs/%s/v-dev", ent);
 	err = xenbus_scanf(XBT_NIL, dev->nodename, str, "%u:%u:%u:%u",
 			   &vir.hst, &vir.chn, &vir.tgt, &vir.lun);
-	if (XENBUS_EXIST_ERR(err)) {
+	if (err != 4) {
 		xenbus_printf(XBT_NIL, dev->nodename, state,
 			      "%d", XenbusStateClosed);
 		return;

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel