aboutsummaryrefslogtreecommitdiff
path: root/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'scsi')
-rw-r--r--scsi/pr-manager-helper.c9
-rw-r--r--scsi/qemu-pr-helper.c9
2 files changed, 8 insertions, 10 deletions
diff --git a/scsi/pr-manager-helper.c b/scsi/pr-manager-helper.c
index 6b86f01..aea751f 100644
--- a/scsi/pr-manager-helper.c
+++ b/scsi/pr-manager-helper.c
@@ -105,20 +105,15 @@ static int pr_manager_helper_initialize(PRManagerHelper *pr_mgr,
.u.q_unix.path = path
};
QIOChannelSocket *sioc = qio_channel_socket_new();
- Error *local_err = NULL;
-
uint32_t flags;
int r;
assert(!pr_mgr->ioc);
qio_channel_set_name(QIO_CHANNEL(sioc), "pr-manager-helper");
- qio_channel_socket_connect_sync(sioc,
- &saddr,
- &local_err);
+ r = qio_channel_socket_connect_sync(sioc, &saddr, errp);
g_free(path);
- if (local_err) {
+ if (r < 0) {
object_unref(OBJECT(sioc));
- error_propagate(errp, local_err);
return -ENOTCONN;
}
diff --git a/scsi/qemu-pr-helper.c b/scsi/qemu-pr-helper.c
index b69dd98..074b4db 100644
--- a/scsi/qemu-pr-helper.c
+++ b/scsi/qemu-pr-helper.c
@@ -733,8 +733,11 @@ static void coroutine_fn prh_co_entry(void *opaque)
uint32_t flags;
int r;
- qio_channel_set_blocking(QIO_CHANNEL(client->ioc),
- false, NULL);
+ if (!qio_channel_set_blocking(QIO_CHANNEL(client->ioc),
+ false, &local_err)) {
+ goto out;
+ }
+
qio_channel_set_follow_coroutine_ctx(QIO_CHANNEL(client->ioc), true);
/* A very simple negotiation for future extensibility. No features
@@ -786,6 +789,7 @@ static void coroutine_fn prh_co_entry(void *opaque)
}
}
+out:
if (local_err) {
if (verbose == 0) {
error_free(local_err);
@@ -794,7 +798,6 @@ static void coroutine_fn prh_co_entry(void *opaque)
}
}
-out:
object_unref(OBJECT(client->ioc));
g_free(client);
}