1. 11 7月, 2013 1 次提交
    • S
      add timestamp to error_report() · 5e2ac519
      Seiji Aguchi 提交于
      [Issue]
      When we offer a customer support service and a problem happens
      in a customer's system, we try to understand the problem by
      comparing what the customer reports with message logs of the
      customer's system.
      
      In this case, we often need to know when the problem happens.
      
      But, currently, there is no timestamp in qemu's error messages.
      Therefore, we may not be able to understand the problem based on
      error messages.
      
      [Solution]
      Add a timestamp to qemu's error message logged by
      error_report() with g_time_val_to_iso8601().
      Signed-off-by: NSeiji Aguchi <seiji.aguchi@hds.com>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      5e2ac519
  2. 13 1月, 2013 1 次提交
  3. 19 12月, 2012 1 次提交
  4. 15 12月, 2011 1 次提交
  5. 24 6月, 2011 1 次提交
  6. 16 4月, 2011 1 次提交
  7. 27 3月, 2010 2 次提交
  8. 23 3月, 2010 1 次提交
  9. 17 3月, 2010 2 次提交
    • M
      error: New error_printf_unless_qmp() · aa924ae7
      Markus Armbruster 提交于
      aa924ae7
    • M
      error: Let converted handlers print in human monitor · cde0fc75
      Markus Armbruster 提交于
      While fully converted handlers are not supposed to print anything when
      running in a QMP monitor, they are free to print in a human monitor.
      For instance, device_add (not yet converted) prints help, and will
      continue to do so after conversion.
      
      Moreover, utility functions converted to QError should remain usable
      from unconverted handlers.
      
      Two problems:
      
      * handler_audit() complains when a converted handler prints.  Limit
        that to QMP monitors.
      
      * With QMP, handlers need to pass the error object by way of
        monitor_set_error().  However, we do that both for QMP and for the
        human monitor.  The human monitor prints the error object after the
        handler returns.  If the handler prints anything else, that output
        "overtakes" the error message.
      
        Limit use of monitor_set_error() to QMP monitors.  Update
        handler_audit() accordingly.
      cde0fc75
  10. 16 3月, 2010 9 次提交
    • M
      error: Track locations on command line · 0f0bc3f1
      Markus Armbruster 提交于
      New LOC_CMDLINE.  Use it for tracking option with argument in
      lookup_opt().  We now report errors like this
      
          qemu: -device smbus-eeprom: Did not find I2C bus for smbus-eeprom
      0f0bc3f1
    • M
      error: Track locations in configuration files · cf5a65aa
      Markus Armbruster 提交于
      New LOC_FILE.  Use it for tracking file name and line number in
      qemu_config_parse().  We now report errors like
      
          qemu:foo.conf:42: Did not find I2C bus for smbus-eeprom
      
      In particular, gems like this message:
      
          -device: no driver specified
      
      become almost nice now:
      
          qemu:foo.conf:44: -device: no driver specified
      
      (A later commit will get rid of the bogus -device:)
      cf5a65aa
    • M
      65abca0a
    • M
      error: Infrastructure to track locations for error reporting · 827b0813
      Markus Armbruster 提交于
      New struct Location holds a location.  So far, the only location is
      LOC_NONE, so this doesn't do anything useful yet.
      
      Passing the current location all over the place would be too
      cumbersome.  Hide it away in static cur_loc instead, and provide
      accessors.  Print it in error_report().
      
      Store it in QError, and print it in qerror_print().
      
      Store it in QemuOpt, for use by qemu_opts_foreach().  This makes
      error_report() do the right thing when it runs within
      qemu_opts_foreach().
      
      We may still have to store it in other data structures holding user
      input for better error messages.  Left for another day.
      827b0813
    • M
      ab5b027e
    • M
      error: Replace qemu_error() by error_report() · 1ecda02b
      Markus Armbruster 提交于
      error_report() terminates the message with a newline.  Strip it it
      from its arguments.
      
      This fixes a few error messages lacking a newline:
      net_handle_fd_param()'s "No file descriptor named %s found", and
      tap_open()'s "vnet_hdr=1 requested, but no kernel support for
      IFF_VNET_HDR available" (all three versions).
      
      There's one place that passes arguments without newlines
      intentionally: load_vmstate().  Fix it up.
      1ecda02b
    • M
      error: New error_printf() and error_vprintf() · ba0fe87a
      Markus Armbruster 提交于
      ba0fe87a
    • M
      error: Simplify error sink setup · 6e4f984c
      Markus Armbruster 提交于
      qemu_error_sink can either point to a monitor or a file.  In practice,
      it always points to the current monitor if we have one, else to
      stderr.  Simply route errors to the current monitor or else to stderr,
      and remove qemu_error_sink along with the functions to control it.
      
      Actually, the old code switches the sink slightly later, in
      handle_user_command() and handle_qmp_command(), than it gets switched
      now, implicitly, by setting the current monitor in monitor_read() and
      monitor_control_read().  Likewise, it switches back slightly earlier
      (same places).  Doesn't make a difference, because there are no calls
      of qemu_error() in between.
      6e4f984c
    • M
      error: Move qemu_error() & friends from monitor.c to own file · b4a51f7f
      Markus Armbruster 提交于
      They're about reporting errors, not about the monitor.
      b4a51f7f