[libvirt] [PATCH v3 4/5] Add a watchdog action `dump'
Daniel P. Berrange
berrange at redhat.com
Thu Dec 2 10:48:42 UTC 2010
On Wed, Dec 01, 2010 at 06:39:14PM -0700, Eric Blake wrote:
> On 12/01/2010 05:50 PM, Hu Tao wrote:
> > On Tue, Nov 30, 2010 at 03:21:36PM -0700, Eric Blake wrote:
> > <...snip...>
> >>>
> >>> -libvirt_qemu_la_SOURCES = libvirt-qemu.c
> >>> +libvirt_qemu_la_SOURCES = libvirt-qemu.c util/threadpool.c
> >>
> >> Why is this change necessary? Shouldn't libvirt_util.la already include
> >> threadpool.c, and the qemu driver already be linking with libvirt_util.la?
> >
> > Is this ok?
> >
> > -libvirt_driver_qemu_la_LIBADD = $(NUMACTL_LIBS)
> > +libvirt_driver_qemu_la_LIBADD = $(NUMACTL_LIBS) ../src/libvirt_util.la
>
> Nope; rather...
>
> >
> > Or link will fail:
> >
> > CCLD libvirtd
> > libvirtd-libvirtd.o: In function `qemudRunLoop':
> > /mnt/data/kernel/libvirt/daemon/libvirtd.c:2229: undefined reference to `virWorkerPoolNew'
> > /mnt/data/kernel/libvirt/daemon/libvirtd.c:2287: undefined reference to `virWorkerPoolFree'
>
> That means you need to modify src/libvirt_private.syms to export the new
> public interfaces from threadpool.h (it should be pretty easy to figure
> out what edits to make, the tricky part is realizing you need to touch
> that file in the first place).
>
> >>> + if (virAsprintf(&qemu_driver->autoDumpPath, "%s/qemu/dump", base) == -1)
> >>> + goto out_of_memory;
> >>
> >> However, it does raise an issue. Is qemu.conf only for privileged
> >> users, or do we have to worry about allowing non-privileged users also
> >> be able to pick up an alternate directory (especially since they can't
> >> dump to /var/log/...)?
> >
> > qemu.conf is only for privileged users, but non-privileged users who
> > need to analyze dump files should ask admin to specify an auto-dump
> > directory they have right to read.
> >
> > Or do you have a better idea?
>
> Is it better to dump a non-privileged log into ~/.libvirt/qemu/dump, so
> that it's automatically user-accessible? We already use ~/.libvirt for
> other non-privileged files.
I think you're mixing up unprivileged users using the privileged
qemu:///system, with unprivileged users using the unprivileged
driver qemu://session. Only the latter uses ~/.libvirt and this
patch should already be using ~/.libvirt/qemu/dump in that
scenario.
Daniel
More information about the libvir-list
mailing list