
On Tue, Mar 08, 2011 at 06:44:56PM +0800, Daniel Veillard wrote:
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c index 452566c..d3631ec 100644 --- a/daemon/libvirtd.c +++ b/daemon/libvirtd.c @@ -2720,11 +2720,16 @@ qemudSetLogging(struct qemud_server *server, virConfPtr conf, const char *filename) { int log_level = 0; + int log_buffer_size = -2; char *log_filters = NULL; char *log_outputs = NULL; char *log_file = NULL; int ret = -1;
+ GET_CONF_INT (conf, filename, log_buffer_size); + if (log_buffer_size != -2) + virLogSetBufferSize(log_buffer_size);
The possible values here seem a little odd.
0 -> sets the log buffer size == 0 -> disables == -2 -> leave at the default < 0 -> disables
IMHO this can be simplified to just
0 -> sets the log buffer size == 0 -> disables < 0 -> leave at the default
And then make virLogSetBufferSize accept size_t
/** + * virLogSetBufferSize: + * @size: size of the buffer in kilobytes or 0 to deactivate + * + * Dynamically set the size or desactivate the logging buffer used to keep + * a trace of all recent debug output. Note that the content of the buffer + * is lost if it gets reallocated. + * + * Return -1 in case of failure or 0 in case of success + */ +extern int +virLogSetBufferSize(int size) { + int ret = 0; + int oldsize; + char *oldLogBuffer; + + if (size < 0) + size = 0;
IMHO size should just be 'size_t'. We don't need to have -ve values, since '0' already indicates disabled. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|