diff options
author | Dave Voutila <dv@cvs.openbsd.org> | 2023-07-27 09:27:44 +0000 |
---|---|---|
committer | Dave Voutila <dv@cvs.openbsd.org> | 2023-07-27 09:27:44 +0000 |
commit | d12474bf2035d60b0a637dd6a4c918ae74c6cbd5 (patch) | |
tree | bf409cbdfac0b5191d5d9f91c4f6141a5f06877d /usr.sbin | |
parent | eeed7657b91120978a2e2b31d7eacad67ae19e50 (diff) |
vmd(8): fix verbose logging in child processes.
The introduction of exec for vm's and fork+exec for virtio block
and network devices missed passing the log verbosity in argv. Add
the "-v" arguments based on current vverbosity at time of exec.
ok brynet@, mlarkin@
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/vmd/virtio.c | 15 | ||||
-rw-r--r-- | usr.sbin/vmd/vmd.h | 6 | ||||
-rw-r--r-- | usr.sbin/vmd/vmm.c | 13 |
3 files changed, 23 insertions, 11 deletions
diff --git a/usr.sbin/vmd/virtio.c b/usr.sbin/vmd/virtio.c index a58e3511543..798b5fea6d5 100644 --- a/usr.sbin/vmd/virtio.c +++ b/usr.sbin/vmd/virtio.c @@ -1,4 +1,4 @@ -/* $OpenBSD: virtio.c,v 1.105 2023/07/15 18:32:21 dv Exp $ */ +/* $OpenBSD: virtio.c,v 1.106 2023/07/27 09:27:43 dv Exp $ */ /* * Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org> @@ -1475,12 +1475,15 @@ virtio_dev_launch(struct vmd_vm *vm, struct virtio_dev *dev) nargv[5] = "-i"; nargv[6] = vmm_fd; nargv[7] = "-n"; + nargv[8] = NULL; - if (env->vmd_verbose) { - nargv[8] = "-v"; + if (env->vmd_verbose == 1) { + nargv[8] = VMD_VERBOSE_1; nargv[9] = NULL; - } else - nargv[8] = NULL; + } else if (env->vmd_verbose > 1) { + nargv[8] = VMD_VERBOSE_2; + nargv[9] = NULL; + } /* Control resumes in vmd.c:main(). */ execvp(nargv[0], nargv); @@ -1699,8 +1702,10 @@ virtio_pci_io(int dir, uint16_t reg, uint32_t *data, uint8_t *intr, imsg_free(&imsg); if (msg.type == VIODEV_MSG_IO_READ && msg.data_valid) { +#if DEBUG log_debug("%s: got sync read response (reg=%s)", __func__, virtio_reg_name(msg.reg)); +#endif /* DEBUG */ *data = msg.data; /* * It's possible we're asked to {de,}assert after the diff --git a/usr.sbin/vmd/vmd.h b/usr.sbin/vmd/vmd.h index 744b8d19574..19995e951c7 100644 --- a/usr.sbin/vmd/vmd.h +++ b/usr.sbin/vmd/vmd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vmd.h,v 1.123 2023/07/13 18:31:59 dv Exp $ */ +/* $OpenBSD: vmd.h,v 1.124 2023/07/27 09:27:43 dv Exp $ */ /* * Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org> @@ -102,6 +102,10 @@ /* Unique local address for IPv6 */ #define VMD_ULA_PREFIX "fd00::/8" +/* Verbosity arguments for use when caling execvp(2). */ +#define VMD_VERBOSE_1 "-v"; +#define VMD_VERBOSE_2 "-vv"; + enum imsg_type { IMSG_VMDOP_START_VM_REQUEST = IMSG_PROC_MAX, IMSG_VMDOP_START_VM_CDROM, diff --git a/usr.sbin/vmd/vmm.c b/usr.sbin/vmd/vmm.c index 541222e0272..a48868c8dd0 100644 --- a/usr.sbin/vmd/vmm.c +++ b/usr.sbin/vmd/vmm.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vmm.c,v 1.113 2023/07/13 18:31:59 dv Exp $ */ +/* $OpenBSD: vmm.c,v 1.114 2023/07/27 09:27:43 dv Exp $ */ /* * Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org> @@ -782,12 +782,15 @@ vmm_start_vm(struct imsg *imsg, uint32_t *id, pid_t *pid) nargv[3] = "-n"; nargv[4] = "-i"; nargv[5] = vmm_fd; + nargv[6] = NULL; - if (env->vmd_verbose) { - nargv[6] = "-v"; + if (env->vmd_verbose == 1) { + nargv[6] = VMD_VERBOSE_1; nargv[7] = NULL; - } else - nargv[6] = NULL; + } else if (env->vmd_verbose > 1) { + nargv[6] = VMD_VERBOSE_2; + nargv[7] = NULL; + } /* Control resumes in vmd main(). */ execvp(nargv[0], nargv); |