Commit Graph
10 Commits
Author SHA1 Message Date
Wei Liu f8c72b5261 oxenstored: implement XS_RESET_WATCHES
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: David Scott <dave.scott@citrix.com>
2015-06-17 11:36:53 +01:00
Zheng Li 025a232326 oxenstored: reduce syslog call overhead
We noticed that, if configured to use syslog as the logging backend, every
single line of access logging (via the syslog C binding) will call stat on
/etc/localtime for 3 times. The rational behind this is probably to detect any
timezone changes over time.

This is a considerable cost we'd like to avoid, given the intensiveness of our
access logging --- we log almost every xenstore status change (for good
reason). Also a running Xen host is rarely a mobile environment, so the little
benefit can hardly justify the cost.

Setting up the TZ environment varialbe can avoid stat calls.

Signed-off-by: Zheng Li <dev@zheng.li>
Reviewed-by: David Scott <dave.scott@citrix.com>
2014-10-08 14:28:56 +01:00
David Scott 6f1355fe8d oxenstored: Allow oxenstored to use syslog at levels other than Debug
We now log different kinds of events at different levels. The convention
is now:

new/end_connection:    Debug
coalesce:              Debug
conflict:              Debug
commit:                Debug
regular ops:           Info
start/end_transaction: Debug
error (ENOENT):        Debug
error (any other):     Warn
watch:                 Info

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
2013-03-19 21:16:04 +00:00
David Scott 24bd2dbb85 oxenstored: enable logging via syslog, if specified in the config file.
To log to files the config file should contain:
   xenstored-log-file = /var/log/xenstored.log
   access-log-file = /var/log/xenstored-access.log

(These two files are still the built-in defaults. The log format is
unchanged.)

To log to syslog the config file should contain:
   xenstored-log-file = syslog:<facility>
   access-log-file = syslog:<facility>

where <facility> is the syslog facility to use (e.g. 'daemon' 'local2')

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
2013-03-19 21:16:04 +00:00
Ian Campbell ac5298f260 oxenstored: Always log something at start of day (if logging enabled at all)
Otherwise at the default level we rarely log anything at all.

A completely empty log file is a good sign, but only if you know you are
looking in the right place...

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2011-12-15 16:53:52 +00:00
Ian Campbell 25c4397fb2 oxenstored: handle unknown operations by returning an error to the client
Previous an unknown operation would be decoded as a Not_found exception which
would bubble all the way up to the try ... with surrounding the call to
main_loop where it would be logged and ignored.

This would leave the guest hanging waiting for a response to the invalid
request.

Instead introduce a specific "Invalid" operation. Higher level functionality,
such as Process.process_packet, already handles operations which are not
understood with an error reply due to the final wildcard entry in
Process.function_of_type but explicitly handle Invalid this way to make it
clear what is going on.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2011-12-15 16:50:36 +00:00
Ian Campbell de35f0c7ce oxenstored: log Errors and Warnings by default.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2011-12-09 16:19:36 +00:00
Jon Ludlam c69fddbd5d tools/ocaml: Remove log library from tools/ocaml/libs
The only user was oxenstored, which has had the relevant bits
merged in.

Signed-off-by: Zheng Li <zheng.li@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
2011-10-10 16:41:16 +01:00
Jon Ludlam 7ceaa0c744 tools/ocaml: Rename the ocaml libraries
ocamlfind does not support namespaces, so to avoid
name clashes the module names have become longer.
Additionally, the xenstore and xenbus subdirs, which
contain several modules each, have been packed into
toplevel Xenstore and Xenbus modules.

xb becomes xenbus, xc becomes xenctrl, xl becomes xenlight,
xs becomes xenstore, eventchn becomes xeneventchn and
mmap becomes xenmmap.

[ Patch modified from that submitted, to update the .hgignore, and to
  cope with intervening changes to mmap_stubs.c -iwj ]

Signed-off-by: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2011-10-10 16:37:07 +01:00
Keir Fraser f44af66041 ocaml: Add xenstored implementation.
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-05-06 11:04:39 +01:00