mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-05 04:41:20 +00:00
54264111ff
libvirt_qemu_probes.stp stopped working after switching to a build that used --with-driver-modules. This was because the symbols listed int libvirt_qemu_probes.stp are no longer in $(bindir)/libvirtd, but are now in $(libdir)/connection-driver/libvirt_driver_qemu.so. This patch enhances dtrace2systemtap.pl (which generates the .stp files from .d files) to look for a new "module" setting in the comments of the .d file (similar to the existing "binary" setting), and to look for a --with-modules option. If the --with-modules option is set *and* a "module" setting is present in the .d file, the process name for the stap line is set to $libdir/$module If either of these isn't true, it reverts to the old behavior. src/Makefile.am was also modified to add the --with-modules option when the build calls for it, and src/libvirt_qemu_probes.d has added a "module" line pointing to the correct .so file for the qemu driver.
23 lines
1.1 KiB
D
23 lines
1.1 KiB
D
provider libvirt {
|
|
# file: src/qemu/qemu_monitor.c
|
|
# prefix: qemu
|
|
# binary: libvirtd
|
|
# module: libvirt/connection-driver/libvirt_driver_qemu.so
|
|
# Monitor lifecycle
|
|
probe qemu_monitor_new(void *mon, int refs, int fd);
|
|
probe qemu_monitor_ref(void *mon, int refs);
|
|
probe qemu_monitor_unref(void *mon, int refs);
|
|
probe qemu_monitor_close(void *monm, int refs);
|
|
|
|
# High level monitor message processing
|
|
probe qemu_monitor_send_msg(void *mon, const char *msg, int fd);
|
|
probe qemu_monitor_recv_reply(void *mon, const char *reply);
|
|
probe qemu_monitor_recv_event(void *mon, const char *event);
|
|
|
|
# Low level monitor I/O processing
|
|
probe qemu_monitor_io_process(void *mon, const char *buf, unsigned int len);
|
|
probe qemu_monitor_io_read(void *mon, const char *buf, unsigned int len, int ret, int errno);
|
|
probe qemu_monitor_io_write(void *mon, const char *buf, unsigned int len, int ret, int errno);
|
|
probe qemu_monitor_io_send_fd(void *mon, int fd, int ret, int errno);
|
|
};
|