Message ID | 20240716162351.270095-1-zhao1.liu@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] qga/commands-posix: Make ga_wait_child() return boolean | expand |
Hi Konstantin, If there are no other patches on your guest-agent queue, I can take this patch in my next pull request. Regards, Phil. On 16/7/24 18:23, Zhao Liu wrote: > Make ga_wait_child() return boolean and check the returned boolean > in ga_run_command() instead of dereferencing @errp. > > Cc: Michael Roth <michael.roth@amd.com> > Cc: Konstantin Kostiuk <kkostiuk@redhat.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > Signed-off-by: Zhao Liu <zhao1.liu@intel.com> > --- > v2: > * Added Phil's r/b. > * Used Phil's polished words. > --- > qga/commands-posix.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/qga/commands-posix.c b/qga/commands-posix.c > index 7f05996495a2..64bb0be94479 100644 > --- a/qga/commands-posix.c > +++ b/qga/commands-posix.c > @@ -59,7 +59,7 @@ > #endif > #endif > > -static void ga_wait_child(pid_t pid, int *status, Error **errp) > +static bool ga_wait_child(pid_t pid, int *status, Error **errp) > { > pid_t rpid; > > @@ -70,10 +70,11 @@ static void ga_wait_child(pid_t pid, int *status, Error **errp) > if (rpid == -1) { > error_setg_errno(errp, errno, "failed to wait for child (pid: %d)", > pid); > - return; > + return false; > } > > g_assert(rpid == pid); > + return true; > } > > static ssize_t ga_pipe_read_str(int fd[2], char **str) > @@ -178,8 +179,7 @@ static int ga_run_command(const char *argv[], const char *in_str, > goto out; > } > > - ga_wait_child(pid, &status, errp); > - if (*errp) { > + if (!ga_wait_child(pid, &status, errp)) { > goto out; > } >
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com> Hi Philippe, I plan to merge this with "Add new api 'guest-network-get-route'" https://patchwork.kernel.org/project/qemu-devel/cover/20240613092802.346246-1-demeng@redhat.com/ Can I ask you to review the new GuestNetworkRoute struct with IPv6 support? On Wed, Jul 17, 2024 at 1:25 PM Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > Hi Konstantin, > > If there are no other patches on your guest-agent queue, > I can take this patch in my next pull request. > > Regards, > > Phil. > > On 16/7/24 18:23, Zhao Liu wrote: > > Make ga_wait_child() return boolean and check the returned boolean > > in ga_run_command() instead of dereferencing @errp. > > > > Cc: Michael Roth <michael.roth@amd.com> > > Cc: Konstantin Kostiuk <kkostiuk@redhat.com> > > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > > Signed-off-by: Zhao Liu <zhao1.liu@intel.com> > > --- > > v2: > > * Added Phil's r/b. > > * Used Phil's polished words. > > --- > > qga/commands-posix.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/qga/commands-posix.c b/qga/commands-posix.c > > index 7f05996495a2..64bb0be94479 100644 > > --- a/qga/commands-posix.c > > +++ b/qga/commands-posix.c > > @@ -59,7 +59,7 @@ > > #endif > > #endif > > > > -static void ga_wait_child(pid_t pid, int *status, Error **errp) > > +static bool ga_wait_child(pid_t pid, int *status, Error **errp) > > { > > pid_t rpid; > > > > @@ -70,10 +70,11 @@ static void ga_wait_child(pid_t pid, int *status, > Error **errp) > > if (rpid == -1) { > > error_setg_errno(errp, errno, "failed to wait for child (pid: > %d)", > > pid); > > - return; > > + return false; > > } > > > > g_assert(rpid == pid); > > + return true; > > } > > > > static ssize_t ga_pipe_read_str(int fd[2], char **str) > > @@ -178,8 +179,7 @@ static int ga_run_command(const char *argv[], const > char *in_str, > > goto out; > > } > > > > - ga_wait_child(pid, &status, errp); > > - if (*errp) { > > + if (!ga_wait_child(pid, &status, errp)) { > > goto out; > > } > > > >
diff --git a/qga/commands-posix.c b/qga/commands-posix.c index 7f05996495a2..64bb0be94479 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -59,7 +59,7 @@ #endif #endif -static void ga_wait_child(pid_t pid, int *status, Error **errp) +static bool ga_wait_child(pid_t pid, int *status, Error **errp) { pid_t rpid; @@ -70,10 +70,11 @@ static void ga_wait_child(pid_t pid, int *status, Error **errp) if (rpid == -1) { error_setg_errno(errp, errno, "failed to wait for child (pid: %d)", pid); - return; + return false; } g_assert(rpid == pid); + return true; } static ssize_t ga_pipe_read_str(int fd[2], char **str) @@ -178,8 +179,7 @@ static int ga_run_command(const char *argv[], const char *in_str, goto out; } - ga_wait_child(pid, &status, errp); - if (*errp) { + if (!ga_wait_child(pid, &status, errp)) { goto out; }