1. 19 12月, 2012 5 次提交
  2. 25 11月, 2012 1 次提交
  3. 01 11月, 2012 1 次提交
    • J
      chardev: Use timer instead of bottom-half to postpone open event · ac4119c0
      Jan Kiszka 提交于
      As the block layer may decide to flush bottom-halfs while the machine is
      still initializing (e.g. to read geometry data from the disk), our
      postponed open event may be processed before the last frontend
      registered with a muxed chardev.
      
      Until the semantics of BHs have been clarified, use an expired timer to
      achieve the same effect (suggested by Paolo Bonzini). This requires to
      perform the alarm timer initialization earlier as otherwise timer
      subsystem can be used before being ready.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      ac4119c0
  4. 23 10月, 2012 4 次提交
    • P
      qemu-sockets: add error propagation to inet_dgram_opts · 4f085c82
      Paolo Bonzini 提交于
      Before:
      
          $ qemu-system-x86_64 -monitor udp:localhost:631@localhost:631
          inet_dgram_opts: bind(ipv4,127.0.0.1,631): OK
          inet_dgram_opts failed
          chardev: opening backend "udp" failed
      
      After:
      
          $ x86_64-softmmu/qemu-system-x86_64 -monitor udp:localhost:631@localhost:631
          qemu-system-x86_64: -monitor udp:localhost:631@localhost:631: Failed to bind socket: Address already in use
          chardev: opening backend "udp" failed
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      4f085c82
    • P
      qemu-char: ask and print error information from qemu-sockets · 87d5f24f
      Paolo Bonzini 提交于
      Before:
      
          $ qemu-system-x86_64 -monitor tcp:localhost:6000
          (starts despite error)
      
          $ qemu-system-x86_64 -monitor tcp:foo.bar:12345
          getaddrinfo(foo.bar,12345): Name or service not known
          chardev: opening backend "socket" failed
      
          $ qemu-system-x86_64 -monitor tcp:localhost:443,server=on
          inet_listen_opts: bind(ipv4,127.0.0.1,443): Permission denied
          inet_listen_opts: FAILED
          chardev: opening backend "socket" failed
      
      After:
      
          $ x86_64-softmmu/qemu-system-x86_64 -monitor tcp:localhost:6000
          x86_64-softmmu/qemu-system-x86_64: -monitor tcp:localhost:6000: Failed to connect to socket: Connection refused
          chardev: opening backend "socket" failed
      
          $ x86_64-softmmu/qemu-system-x86_64 -monitor tcp:foo.bar:12345
          qemu-system-x86_64: -monitor tcp:foo.bar:12345: address resolution failed for foo.bar:12345: Name or service not known
          chardev: opening backend "socket" failed
      
          $ x86_64-softmmu/qemu-system-x86_64 -monitor tcp:localhost:443,server=on
          qemu-system-x86_64: -monitor tcp:localhost:443,server=on: Failed to bind socket: Permission denied
          chardev: opening backend "socket" failed
      Reviewed-by: NLuiz Capitulino <lcapitulino@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      87d5f24f
    • P
      qemu-sockets: add nonblocking connect for Unix sockets · 1fc05adf
      Paolo Bonzini 提交于
      This patch mostly mimics what was done to TCP sockets, but simpler
      because there is only one address to try.  It also includes a free EINTR
      bug fix.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      1fc05adf
    • P
      qemu-sockets: add Error ** to all functions · 7fc4e63e
      Paolo Bonzini 提交于
      This lets me adjust the clients to do proper error propagation first,
      thus avoiding temporary regressions in the quality of the error messages.
      Reviewed-by: NLuiz Capitulino <lcapitulino@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      7fc4e63e
  5. 26 9月, 2012 2 次提交
  6. 17 9月, 2012 2 次提交
  7. 10 9月, 2012 1 次提交
  8. 17 8月, 2012 1 次提交
  9. 15 8月, 2012 1 次提交
  10. 14 8月, 2012 1 次提交
  11. 09 6月, 2012 1 次提交
    • M
      do not include <libutil.h> needlessly or if it doesn't exist · 3294ce18
      Michael Tokarev 提交于
      <libutil.h> and <util.h> on *BSD (some have one, some another)
      were #included just for openpty() declaration.  The only file
      where this function is actually used is qemu-char.c.
      
      In vl.c and net/tap-bsd.c, none of functions declared in libutil.h
      (login logout logwtmp timdomain openpty forkpty uu_lock realhostname
      fparseln and a few others depending on version) are used.
      
      Initially the code which is currently in qemu-char.c was in vl.c,
      it has been removed into separate file in commit 0e82f34d
      Fri Oct 31 18:44:40 2008, but the #includes were left in vl.c.
      So with vl.c, we just remove includes - libutil.h, util.h and
      pty.h (which declares only openpty() and forkpty()) from there.
      
      The code in net/tap-bsd.c, which come from net/tap.c, had this
      
      commit 5281d757
      Author: Mark McLoughlin <markmc@redhat.com>
      Date:   Thu Oct 22 17:49:07 2009 +0100
      
          net: split all the tap code out into net/tap.c
      
      Note this commit not only moved stuff out of net.c to net/tap.c,
      but also rewrote large portions of the tap code, and added these
      completely unnecessary #includes -- as usual, I question why such
      a misleading commit messages are allowed.
      
      Again, no functions defined in libutil.h or util.h on *BSD are
      used by neither net/tap.c nor net/tap-bsd.c.  Removing them.
      
      And finally, the only real user for these #includes, qemu-char.c,
      which actually uses openpty().  There, the #ifdef logic is wrong.
      A GLIBC-based system has <pty.h>, even if it is a variant of *BSD.
      So __GLIBC__ should be checked first, and instead of trying to
      include <libutil.h> or <util.h>, we include <pty.h>.  If it is not
      GLIBC-based, we check for variations between <*util.h> as before.
      
      This patch fixes build of qemu 1.1 on Debian/kFreebsd (well, one
      of the two problems): it is a distribution with a FreeBSD kernel,
      so it #defines at least __FreeBSD_kernel__, but since it is based
      on GLIBC, it has <pty.h>, but current version does not have neither
      <util.h> nor <libutil.h>, which the code tries to include 3 times
      but uses only once.
      Signed-off-By: NMichael Tokarev <mjt@tls.msk.ru>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      3294ce18
  12. 05 6月, 2012 1 次提交
    • L
      qemu-option: qemu_opts_create(): use error_set() · 8be7e7e4
      Luiz Capitulino 提交于
      This commit converts qemu_opts_create() from qerror_report() to
      error_set().
      
      Currently, most calls to qemu_opts_create() can't fail, so most
      callers don't need any changes.
      
      The two cases where code checks for qemu_opts_create() erros are:
      
       1. Initialization code in vl.c. All of them print their own
          error messages directly to stderr, no need to pass the Error
          object
      
       2. The functions opts_parse(), qemu_opts_from_qdict() and
          qemu_chr_parse_compat() make use of the error information and
          they can be called from HMP or QMP. In this case, to allow for
          incremental conversion, we propagate the error up using
          qerror_report_err(), which keeps the QError semantics
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      Reviewed-By: NLaszlo Ersek <lersek@redhat.com>
      8be7e7e4
  13. 11 5月, 2012 2 次提交
  14. 24 4月, 2012 1 次提交
  15. 16 4月, 2012 1 次提交
    • J
      Kick io-thread on qemu_chr_accept_input · 98c8ee1d
      Jan Kiszka 提交于
      Once a chr frontend is able to receive input again, we need to inform
      the io-thread about this fact. Otherwise, main_loop_wait may continue to
      select without the related backend file descriptor in its set. This can
      cause high input latencies if only low-rate events arrive otherwise.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      98c8ee1d
  16. 24 2月, 2012 4 次提交
  17. 04 2月, 2012 1 次提交
  18. 29 11月, 2011 1 次提交
  19. 12 11月, 2011 1 次提交
  20. 23 10月, 2011 1 次提交
  21. 14 10月, 2011 1 次提交
  22. 04 10月, 2011 1 次提交
  23. 24 9月, 2011 1 次提交
  24. 22 8月, 2011 4 次提交