Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Jul 2021 05:13:22 GMT
From:      Robert Wing <rew@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 3f65cb8fda02 - stable/13 - bhyvectl: print a better error message when vm_open() fails
Message-ID:  <202107020513.1625DMbC064940@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by rew:

URL: https://cgit.FreeBSD.org/src/commit/?id=3f65cb8fda02c4f643c476f04655de843e31e563

commit 3f65cb8fda02c4f643c476f04655de843e31e563
Author:     Marko <marko@apache.org>
AuthorDate: 2021-03-07 06:19:30 +0000
Commit:     Robert Wing <rew@FreeBSD.org>
CommitDate: 2021-07-02 03:17:12 +0000

    bhyvectl: print a better error message when vm_open() fails
    
    libvmm: explicitly save and restore errno in vm_open()
    
    Use errno to print a more descriptive error message when vm_open() fails
    
    PR:             250671
    Reviewed by:    grehan
    Differential Revision:  https://reviews.freebsd.org/D29109
    
    (cherry picked from commit 6bb140e3ca895a148f32c93d50f93619bf735f73)
    (cherry picked from commit a7f81b488df2d4a5dcd785b4112e04ffb6ca0442)
---
 lib/libvmmapi/vmmapi.c       | 5 ++++-
 usr.sbin/bhyvectl/bhyvectl.c | 4 +++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c
index 39732f448023..5810274c9a73 100644
--- a/lib/libvmmapi/vmmapi.c
+++ b/lib/libvmmapi/vmmapi.c
@@ -118,6 +118,7 @@ struct vmctx *
 vm_open(const char *name)
 {
 	struct vmctx *vm;
+	int saved_errno;
 
 	vm = malloc(sizeof(struct vmctx) + strlen(name) + 1);
 	assert(vm != NULL);
@@ -133,7 +134,9 @@ vm_open(const char *name)
 
 	return (vm);
 err:
-	vm_destroy(vm);
+	saved_errno = errno;
+	free(vm);
+	errno = saved_errno;
 	return (NULL);
 }
 
diff --git a/usr.sbin/bhyvectl/bhyvectl.c b/usr.sbin/bhyvectl/bhyvectl.c
index c54aa1f33dc1..1b882e1e0504 100644
--- a/usr.sbin/bhyvectl/bhyvectl.c
+++ b/usr.sbin/bhyvectl/bhyvectl.c
@@ -1960,7 +1960,9 @@ main(int argc, char *argv[])
 	if (!error) {
 		ctx = vm_open(vmname);
 		if (ctx == NULL) {
-			printf("VM:%s is not created.\n", vmname);
+			fprintf(stderr,
+			    "vm_open: %s could not be opened: %s\n",
+			    vmname, strerror(errno));
 			exit (1);
 		}
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107020513.1625DMbC064940>