[PATCH v2 1/8] bhyve: add 'driver' to bhyveProcessStart method

Daniel P. Berrangé posted 8 patches 10 months, 1 week ago
[PATCH v2 1/8] bhyve: add 'driver' to bhyveProcessStart method
Posted by Daniel P. Berrangé 10 months, 1 week ago
This allows for passinga  NULL connection object in cases where
domain autodestroy is not required.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 src/bhyve/bhyve_driver.c  | 6 +++---
 src/bhyve/bhyve_process.c | 5 ++---
 src/bhyve/bhyve_process.h | 3 ++-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c
index 8f97ac032c..ea5a9be4fb 100644
--- a/src/bhyve/bhyve_driver.c
+++ b/src/bhyve/bhyve_driver.c
@@ -79,7 +79,7 @@ bhyveAutostartDomain(virDomainObj *vm, void *opaque)
 
     if (vm->autostart && !virDomainObjIsActive(vm)) {
         virResetLastError();
-        ret = virBhyveProcessStart(data->conn, vm,
+        ret = virBhyveProcessStart(bhyve_driver, data->conn, vm,
                                    VIR_DOMAIN_RUNNING_BOOTED, 0);
         if (ret < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -834,7 +834,7 @@ bhyveDomainCreateWithFlags(virDomainPtr dom,
         goto cleanup;
     }
 
-    ret = virBhyveProcessStart(dom->conn, vm,
+    ret = virBhyveProcessStart(privconn, dom->conn, vm,
                                VIR_DOMAIN_RUNNING_BOOTED,
                                start_flags);
 
@@ -892,7 +892,7 @@ bhyveDomainCreateXML(virConnectPtr conn,
                                    VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE, NULL)))
         goto cleanup;
 
-    if (virBhyveProcessStart(conn, vm,
+    if (virBhyveProcessStart(privconn, conn, vm,
                              VIR_DOMAIN_RUNNING_BOOTED,
                              start_flags) < 0) {
         /* If domain is not persistent, remove its data */
diff --git a/src/bhyve/bhyve_process.c b/src/bhyve/bhyve_process.c
index 41feabcbe7..3e6f678cf5 100644
--- a/src/bhyve/bhyve_process.c
+++ b/src/bhyve/bhyve_process.c
@@ -270,13 +270,12 @@ bhyveProcessPrepareDomain(bhyveConn *driver,
 }
 
 int
-virBhyveProcessStart(virConnectPtr conn,
+virBhyveProcessStart(bhyveConn *driver,
+                     virConnectPtr conn,
                      virDomainObj *vm,
                      virDomainRunningReason reason,
                      unsigned int flags)
 {
-    struct _bhyveConn *driver = conn->privateData;
-
     /* Run an early hook to setup missing devices. */
     if (bhyveProcessStartHook(driver, vm, VIR_HOOK_BHYVE_OP_PREPARE) < 0)
         return -1;
diff --git a/src/bhyve/bhyve_process.h b/src/bhyve/bhyve_process.h
index 668411db57..e69db41fc2 100644
--- a/src/bhyve/bhyve_process.h
+++ b/src/bhyve/bhyve_process.h
@@ -28,7 +28,8 @@ bhyveProcessPrepareDomain(bhyveConn *driver,
                           virDomainObj *vm,
                           unsigned int flags);
 
-int virBhyveProcessStart(virConnect *conn,
+int virBhyveProcessStart(bhyveConn *driver,
+                         virConnectPtr conn,
                          virDomainObj *vm,
                          virDomainRunningReason reason,
                          unsigned int flags);
-- 
2.47.1
Re: [PATCH v2 1/8] bhyve: add 'driver' to bhyveProcessStart method
Posted by Peter Krempa 10 months, 1 week ago
On Wed, Feb 12, 2025 at 15:46:39 +0000, Daniel P. Berrangé wrote:
> This allows for passinga  NULL connection object in cases where
> domain autodestroy is not required.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  src/bhyve/bhyve_driver.c  | 6 +++---
>  src/bhyve/bhyve_process.c | 5 ++---
>  src/bhyve/bhyve_process.h | 3 ++-
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c
> index 8f97ac032c..ea5a9be4fb 100644
> --- a/src/bhyve/bhyve_driver.c
> +++ b/src/bhyve/bhyve_driver.c
> @@ -79,7 +79,7 @@ bhyveAutostartDomain(virDomainObj *vm, void *opaque)
>  
>      if (vm->autostart && !virDomainObjIsActive(vm)) {
>          virResetLastError();
> -        ret = virBhyveProcessStart(data->conn, vm,
> +        ret = virBhyveProcessStart(bhyve_driver, data->conn, vm,

This function already gets the driver passed in data->driver so you
don't need to access the global variable.


Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Re: [PATCH v2 1/8] bhyve: add 'driver' to bhyveProcessStart method
Posted by Daniel P. Berrangé 10 months, 1 week ago
On Wed, Feb 12, 2025 at 05:41:41PM +0100, Peter Krempa wrote:
> On Wed, Feb 12, 2025 at 15:46:39 +0000, Daniel P. Berrangé wrote:
> > This allows for passinga  NULL connection object in cases where
> > domain autodestroy is not required.
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
> >  src/bhyve/bhyve_driver.c  | 6 +++---
> >  src/bhyve/bhyve_process.c | 5 ++---
> >  src/bhyve/bhyve_process.h | 3 ++-
> >  3 files changed, 7 insertions(+), 7 deletions(-)
> > 
> > diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c
> > index 8f97ac032c..ea5a9be4fb 100644
> > --- a/src/bhyve/bhyve_driver.c
> > +++ b/src/bhyve/bhyve_driver.c
> > @@ -79,7 +79,7 @@ bhyveAutostartDomain(virDomainObj *vm, void *opaque)
> >  
> >      if (vm->autostart && !virDomainObjIsActive(vm)) {
> >          virResetLastError();
> > -        ret = virBhyveProcessStart(data->conn, vm,
> > +        ret = virBhyveProcessStart(bhyve_driver, data->conn, vm,
> 
> This function already gets the driver passed in data->driver so you
> don't need to access the global variable.

This changes in the next patch, but yeah, makes sense to use data->driver
meanwhile

> 
> 
> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|