qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 0486c2: nbd: unlock mutex in nbd_co_send_requ


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 0486c2: nbd: unlock mutex in nbd_co_send_request() error p...
Date: Wed, 26 Jun 2013 15:30:10 -0700

  Branch: refs/heads/stable-1.4
  Home:   https://github.com/qemu/qemu
  Commit: 0486c27a36f0f6448f1f91ee8de3d9fdc49bde23
      
https://github.com/qemu/qemu/commit/0486c27a36f0f6448f1f91ee8de3d9fdc49bde23
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2013-05-13 (Mon, 13 May 2013)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  nbd: unlock mutex in nbd_co_send_request() error path

Cc: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
(cherry picked from commit 6760c47aa42ce30efdd12c132f73c8749c575995)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 4d7f4556fc6ceafcf6ccd9ebce441e22c90f5756
      
https://github.com/qemu/qemu/commit/4d7f4556fc6ceafcf6ccd9ebce441e22c90f5756
  Author: Andreas Färber <address@hidden>
  Date:   2013-05-13 (Mon, 13 May 2013)

  Changed paths:
    M hw/qdev-core.h
    M hw/qdev.c

  Log Message:
  -----------
  qdev: Fix QOM unrealize behavior

Since commit 249d41720b7dfbb5951b430b9eefdbee7464f515 (qdev: Prepare
"realized" property) setting realized = true would register the device's
VMStateDescription, but realized = false would not unregister it. Fix that.

Moving the code from unparenting also revealed that we were calling
DeviceClass::init through DeviceClass::realize as interim solution but
DeviceClass::exit still at unparenting time with a realized check.
Make this symmetrical by implementing DeviceClass::unrealize to call it,
while we're setting realized = false in the unparenting path.
The only other unrealize user is mac_nvram, which can safely override it.

Thus, mark DeviceClass::exit as obsolete, new devices should implement
DeviceClass::unrealize instead.

Cc: address@hidden
Signed-off-by: Andreas Färber <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit fe6c211781f80ef4fc246269cecbbc21981089f0)

Signed-off-by: Michael Roth <address@hidden>


  Commit: e355efd9629e1a880d313911c7dee3a9943f88b4
      
https://github.com/qemu/qemu/commit/e355efd9629e1a880d313911c7dee3a9943f88b4
  Author: Amit Shah <address@hidden>
  Date:   2013-05-13 (Mon, 13 May 2013)

  Changed paths:
    M backends/rng-random.c

  Log Message:
  -----------
  rng random backend: check for -EAGAIN errors on read

Not handling EAGAIN triggers the assert

qemu/backends/rng-random.c:44:entropy_available: assertion failed: (len != -1)
Aborted (core dumped)

This happens when starting a guest with '-device virtio-rng-pci',
issuing a 'cat /dev/hwrng' in the guest, while also doing 'cat
/dev/random' on the host.

Reported-by: yunpingzheng <address@hidden>
Signed-off-by: Amit Shah <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit acbbc036619092fcd2c882222e1be168bd972b3e)

Signed-off-by: Michael Roth <address@hidden>


  Commit: c5675a98bb24ca874c8182980847eb46f56e6a3e
      
https://github.com/qemu/qemu/commit/c5675a98bb24ca874c8182980847eb46f56e6a3e
  Author: Jason Wang <address@hidden>
  Date:   2013-05-13 (Mon, 13 May 2013)

  Changed paths:
    M net/tap.c

  Log Message:
  -----------
  tap: properly initialize vhostfds

Only tap->vhostfd were checked net_init_tap_one(), but tap->vhostfds were
forgot, this will lead qemu to ignore all fds passed by management through
vhostfds, and tries to create vhost_net device itself. Fix by adding this check
also.

Reportyed-by: Michal Privoznik <address@hidden>
Cc: Michal Privoznik <address@hidden>
Cc: address@hidden
Signed-off-by: Jason Wang <address@hidden>
Reviewed-by: Michal Privoznik <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit 7873df408dd44eb92840b108211d5aa5db7db526)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 5613bda4ac3e93b0ea7c4fd3e02ab8590ee34cca
      
https://github.com/qemu/qemu/commit/5613bda4ac3e93b0ea7c4fd3e02ab8590ee34cca
  Author: Cornelia Huck <address@hidden>
  Date:   2013-05-13 (Mon, 13 May 2013)

  Changed paths:
    M hw/s390x/virtio-ccw.c

  Log Message:
  -----------
  virtio-ccw: Check indicators location.

If a guest neglected to register (secondary) indicators but still runs
with notifications enabled, we might end up writing to guest zero;
avoid this by checking for valid indicators and only writing to the
guest and generating an interrupt if indicators have been setup.

Cc: address@hidden
Signed-off-by: Cornelia Huck <address@hidden>
(cherry picked from commit 7c4869761d7f2e0a3f806a5359eea5d2473ec5d5)

Signed-off-by: Michael Roth <address@hidden>


  Commit: d10d2510b903a8ed8be584199828e95d1c267e14
      
https://github.com/qemu/qemu/commit/d10d2510b903a8ed8be584199828e95d1c267e14
  Author: Andreas Färber <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Pick up libseccomp include path

openSUSE 12.3 has seccomp.h in /usr/include/libseccomp-1.0.1,
so add `pkg-config --cflags libseccomp` output to QEMU_CFLAGS.

Cc: address@hidden
Signed-off-by: Andreas Färber <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
(cherry picked from commit 372e47e9b5e31c493823d7f512716644fb02d0fd)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 074dd56a01b33b8ecc2b9d370e767fb13d3aaf5e
      
https://github.com/qemu/qemu/commit/074dd56a01b33b8ecc2b9d370e767fb13d3aaf5e
  Author: Richard Sandiford <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M target-mips/helper.h
    M target-mips/op_helper.c
    M target-mips/translate.c

  Log Message:
  -----------
  target-mips: Fix accumulator arguments to gen_helper_dmult(u)

gen_muldiv was passing int accumulator arguments directly
to gen_helper_dmult(u).  This patch fixes it to use TCGs,
via the gen_helper_0e2i wrapper.

Fixes an --enable-debug-tcg build failure reported by Juergen Lock.

Signed-off-by: Richard Sandiford <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 93399d08275ff0243ef8c0a2709098bd6192343e
      
https://github.com/qemu/qemu/commit/93399d08275ff0243ef8c0a2709098bd6192343e
  Author: Aurelien Jarno <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M tcg/optimize.c

  Log Message:
  -----------
  tcg/optimize: fix setcond2 optimization

When setcond2 is rewritten into setcond, the state of the destination
temp should be reset, so that a copy of the previous value is not
used instead of the result.

Reported-by: Michael Tokarev <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
(cherry picked from commit 66e61b55f158ef5628e4c056dd2f233c9351a3f5)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 60259539ee9f3b2e5c18fcae2938e7db9ff1e9c0
      
https://github.com/qemu/qemu/commit/60259539ee9f3b2e5c18fcae2938e7db9ff1e9c0
  Author: Laszlo Ersek <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M qga/commands-posix.c
    M qga/main.c

  Log Message:
  -----------
  qga: set umask 0077 when daemonizing (CVE-2013-2007)

The qemu guest agent creates a bunch of files with insecure permissions
when started in daemon mode. For example:

  -rw-rw-rw- 1 root root /var/log/qemu-ga.log
  -rw-rw-rw- 1 root root /var/run/qga.state
  -rw-rw-rw- 1 root root /var/log/qga-fsfreeze-hook.log

In addition, at least all files created with the "guest-file-open" QMP
command, and all files created with shell output redirection (or
otherwise) by utilities invoked by the fsfreeze hook script are affected.

For now mask all file mode bits for "group" and "others" in
become_daemon().

Temporarily, for compatibility reasons, stick with the 0666 file-mode in
case of files newly created by the "guest-file-open" QMP call. Do so
without changing the umask temporarily.

Signed-off-by: Laszlo Ersek <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>
(cherry picked from commit c689b4f1bac352dcfd6ecb9a1d45337de0f1de67)

Conflicts:

        qga/commands-posix.c

*update includes to match stable

Signed-off-by: Michael Roth <address@hidden>


  Commit: 3accab7365f75b9017182ffdc1af50f30eb3be5d
      
https://github.com/qemu/qemu/commit/3accab7365f75b9017182ffdc1af50f30eb3be5d
  Author: Peter Maydell <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M cpu-exec.c
    M include/exec/gen-icount.h
    M tcg/tcg.h

  Log Message:
  -----------
  tcg: Document tcg_qemu_tb_exec() and provide constants for low bit uses

Document tcg_qemu_tb_exec(). In particular, its return value is a
combination of a pointer to the next translation block and some
extra information in the low two bits. Provide some #defines for
the values passed in these bits to improve code clarity.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>

(cherry picked from commit 0980011b4f66482d2733ab2dd0f2f61747772c6b)

Conflicts:
        tcg/tcg.h

Signed-off-by: Michael Tokarev <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 69001b31458560ca7cf18151cad279714fd443c1
      
https://github.com/qemu/qemu/commit/69001b31458560ca7cf18151cad279714fd443c1
  Author: Peter Maydell <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M cpu-exec.c

  Log Message:
  -----------
  cpu-exec: wrap tcg_qemu_tb_exec() in a fn to restore the PC

If tcg_qemu_tb_exec() returns a value whose low bits don't indicate a
link to an indexed next TB, this means that the TB execution never
started (eg because the instruction counter hit zero).  In this case the
guest PC has to be reset to the address of the start of the TB.
Refactor the cpu-exec code to make all tcg_qemu_tb_exec() calls pass
through a wrapper function which does this restoration if necessary.

Note that the apparent change in cpu_exec_nocache() from calling
cpu_pc_from_tb() with the old TB to calling it with the TB returned by
do_tcg_qemu_tb_exec() is safe, because in the nocache case we can
guarantee that the TB we try to execute is not linked to any others,
so the only possible returned TB is the one we started at. That is,
we should arguably previously have included in cpu_exec_nocache() an
assert(next_tb & ~TB_EXIT_MASK) == tb), since the API requires restore
from next_tb but we were using tb.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>

(cherry picked from commit 77211379d73ea0c89c0b5bb6eee74b17cb06f9a8)

Conflicts:
        cpu-exec.c

Signed-off-by: Michael Tokarev <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 2ebcc590c9e2f7af963794d699fb248c29be9643
      
https://github.com/qemu/qemu/commit/2ebcc590c9e2f7af963794d699fb248c29be9643
  Author: Peter Maydell <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M cpu-exec.c
    M exec.c
    M include/exec/cpu-defs.h
    M include/exec/gen-icount.h
    M tcg/tcg.h
    M translate-all.c

  Log Message:
  -----------
  Handle CPU interrupts by inline checking of a flag

Fix some of the nasty TCG race conditions and crashes by implementing
cpu_exit() as setting a flag which is checked at the start of each TB.
This avoids crashes if a thread or signal handler calls cpu_exit()
while the execution thread is itself modifying the TB graph (which
may happen in system emulation mode as well as in linux-user mode
with a multithreaded guest binary).

This fixes the crashes seen in LP:668799; however there are another
class of crashes described in LP:1098729 which stem from the fact
that in linux-user with a multithreaded guest all threads will
use and modify the same global TCG date structures (including the
generated code buffer) without any kind of locking. This means that
multithreaded guest binaries are still in the "unsupported"
category.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>

(cherry picked from commit 378df4b23753a11be650af7664ca76bc75cb9f01)

Conflicts:
        exec.c
        include/qom/cpu.h
        translate-all.c
        include/exec/gen-icount.h

Signed-off-by: Michael Tokarev <address@hidden>

Conflicts:
        cpu-exec.c

Signed-off-by: Michael Roth <address@hidden>


  Commit: 84247bbe2857164d72796cdb43902b28415f5966
      
https://github.com/qemu/qemu/commit/84247bbe2857164d72796cdb43902b28415f5966
  Author: Peter Maydell <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M translate-all.c

  Log Message:
  -----------
  translate-all.c: Remove cpu_unlink_tb()

The (unsafe) function cpu_unlink_tb() is now unused, so we can simply
remove it and any code that was only used by it.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Blue Swirl <address@hidden>

(cherry picked from commit 3a808cc407744c30daa7470b5f191cde1fbc1aae)

Conflicts:
        translate-all.c

Signed-off-by: Michael Tokarev <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 67b460a404eedf8a1f098fdb52cd40b2e6d48ef1
      
https://github.com/qemu/qemu/commit/67b460a404eedf8a1f098fdb52cd40b2e6d48ef1
  Author: Laszlo Ersek <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: distinguish binary modes in "guest_file_open_modes" map

In Windows guests this may make a difference.

Since the original patch (commit c689b4f1) sought to be pedantic and to
consider theoretical corner cases of portability, we should fix it up
where it failed to come through in that pursuit.

Suggested-by: Eric Blake <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Laszlo Ersek <address@hidden>
Reviewed-by: Luiz Capitulino <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
(cherry picked from commit 8fe6bbca7176c9dfb35083a71bda95c1856e2ed5)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 1d7723ffc7b93dc2f9400c4fe26b5c4506cfc661
      
https://github.com/qemu/qemu/commit/1d7723ffc7b93dc2f9400c4fe26b5c4506cfc661
  Author: Laszlo Ersek <address@hidden>
  Date:   2013-05-14 (Tue, 14 May 2013)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: unlink just created guest-file if fchmod() or fdopen() fails on it

We shouldn't allow guest filesystem pollution on error paths.

Suggested-by: Eric Blake <address@hidden>
Signed-off-by: Laszlo Ersek <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Luiz Capitulino <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
(cherry picked from commit 2b720018060179b394f8ce736983373ab80dd37c)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 7322cb17faca8af3abe480bf16587a6b83c1bc7d
      
https://github.com/qemu/qemu/commit/7322cb17faca8af3abe480bf16587a6b83c1bc7d
  Author: Cole Robinson <address@hidden>
  Date:   2013-05-16 (Thu, 16 May 2013)

  Changed paths:
    M qemu-options.hx

  Log Message:
  -----------
  docs: Fix generating qemu-doc.html with texinfo 5

LC_ALL=C makeinfo --no-headers --no-split --number-sections --html 
qemu-doc.texi -o qemu-doc.html
./qemu-options.texi:1521: unknown command `list'
./qemu-options.texi:1521: table requires an argument: the formatter for @item
./qemu-options.texi:1521: warning: @table has text but no @item

This is for 1.4 stable only; master isn't affected, as it was fixed by
another commit (which isn't appropriate for stable):

commit 5d6768e3b8908a60f0a3016b7fa24194f6b47c80
Author: MORITA Kazutaka <address@hidden>
Date:   Fri Feb 22 12:39:51 2013 +0900

    sheepdog: accept URIs

Signed-off-by: Cole Robinson <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: b90fd157f7e1e210c845f18e4c1c09343a5cce9d
      
https://github.com/qemu/qemu/commit/b90fd157f7e1e210c845f18e4c1c09343a5cce9d
  Author: Hans de Goede <address@hidden>
  Date:   2013-05-16 (Thu, 16 May 2013)

  Changed paths:
    M hw/usb/redirect.c

  Log Message:
  -----------
  usb-redir: Fix crash on migration with no client connected

If no client is connected on the src side, then we won't receive a
parser during migrate, in this case usbredir_post_load() should be a nop,
rather then to try to derefefence the NULL dev->parser pointer.

Signed-off-by: Hans de Goede <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
(cherry picked from commit 3713e1485e6eace7d48b9c790602cfd92c616e5f)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 0c70b5ad59133a5dbddd455f6d395bf3e8140ff7
      
https://github.com/qemu/qemu/commit/0c70b5ad59133a5dbddd455f6d395bf3e8140ff7
  Author: Brad Smith <address@hidden>
  Date:   2013-05-16 (Thu, 16 May 2013)

  Changed paths:
    M Makefile.objs
    M configure
    M tests/Makefile

  Log Message:
  -----------
  configure: Don't fall back to gthread coroutine backend

This is a back port of 7c2acc7062fe863cb71ff5849bb121deafe8df4b to the
1.4 stable branch without needing the new error_exit() function.

configure: Don't fall back to gthread coroutine backend

The gthread coroutine backend is broken and does not produce a working
QEMU; it is only useful for some very limited debugging situations.
Clean up the backend selection logic in configure so that it now runs
"if on windows use windows; else prefer ucontext; else sigaltstack".

To do this we refactor the configure code to separate out "test
whether we have a working ucontext", "pick a default if user didn't
specify" and "validate that user didn't specify something invalid",
rather than having all three of these run together. We also simplify
the Makefile logic so it just links in the backend the configure
script selects.

Signed-off-by: Peter Maydell <address@hidden>
Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>
Signed-off-by: Brad Smith <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 06efdc4f4d5ba24016c33ff0690218027c0c785f
      
https://github.com/qemu/qemu/commit/06efdc4f4d5ba24016c33ff0690218027c0c785f
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-05-16 (Thu, 16 May 2013)

  Changed paths:
    M os-win32.c
    M qemu-timer.c

  Log Message:
  -----------
  qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32

These are needed for any of the Win32 alarm timer implementations.
They are not tied to mmtimer exclusively.

Jacob tested this patch with both mmtimer and Win32 timers.

Cc: address@hidden
Tested-by: Jacob Kroon <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Weil <address@hidden>
(cherry picked from commit 0727b867542eea7fedfd2c53568e9782627fd3bd)

Conflicts:

        os-win32.c

* updated to retain cpu affinity settings for 1.4

Signed-off-by: Michael Roth <address@hidden>


  Commit: 45bbe1fa897937e38d7db18ce214c28b01bab0ec
      
https://github.com/qemu/qemu/commit/45bbe1fa897937e38d7db18ce214c28b01bab0ec
  Author: Luiz Capitulino <address@hidden>
  Date:   2013-05-17 (Fri, 17 May 2013)

  Changed paths:
    M hw/virtio-balloon.c

  Log Message:
  -----------
  virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event

Because dev->actual is uint32_t, the expression 'dev->actual <<
VIRTIO_BALLOON_PFN_SHIFT' is truncated to 32 bits. This overflows when
dev->actual >= 1048576.

To reproduce:

 1. Start a VM with a QMP socket and 5G of RAM
 2. Connect to the QMP socket, negotiate capabilities and issue:

   { "execute":"balloon", "arguments": { "value": 1073741824 } }

 3. Watch for BALLOON_CHANGE QMP events, the last one will incorretly be:

   { "timestamp": { "seconds": 1366228965, "microseconds": 245466 },
     "event": "BALLOON_CHANGE", "data": { "actual": 5368709120 } }

To fix it this commit casts it to ram_addr_t, which is ram_size's type.

Signed-off-by: Luiz Capitulino <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
(cherry picked from commit dcc6ceffc066745777960a1f0d32f3a555924f65)

Signed-off-by: Michael Roth <address@hidden>


  Commit: 7f28f0f1f6735a25e5e2a028adccc54f3143fac9
      
https://github.com/qemu/qemu/commit/7f28f0f1f6735a25e5e2a028adccc54f3143fac9
  Author: Paolo Bonzini <address@hidden>
  Date:   2013-05-17 (Fri, 17 May 2013)

  Changed paths:
    A tests/qemu-iotests/050
    A tests/qemu-iotests/050.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: add tests for rebasing zero clusters

If zero clusters are erroneously treated as unallocated, "qemu-img rebase"
will copy the backing file's contents onto the cluster.

The bug existed also in image streaming, but since the root cause was in
qcow2's is_allocated implementation it is enough to test it with qemu-img.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit acbf30ec601b1f817febc4500025b7c4181312c4)

Conflicts:

        tests/qemu-iotests/group

* fixed up to account for tests 48/49 being missing from 1.4

Signed-off-by: Michael Roth <address@hidden>


  Commit: 0182df5ae55a30058b8851dfaa2c4cc065d1b126
      
https://github.com/qemu/qemu/commit/0182df5ae55a30058b8851dfaa2c4cc065d1b126
  Author: Josh Durgin <address@hidden>
  Date:   2013-05-17 (Fri, 17 May 2013)

  Changed paths:
    M block/rbd.c

  Log Message:
  -----------
  rbd: add an asynchronous flush

The existing bdrv_co_flush_to_disk implementation uses rbd_flush(),
which is sychronous and causes the main qemu thread to block until it
is complete. This results in unresponsiveness and extra latency for
the guest.

Fix this by using an asynchronous version of flush.  This was added to
librbd with a special #define to indicate its presence, since it will
be backported to stable versions. Thus, there is no need to check the
version of librbd.

Implement this as bdrv_aio_flush, since it matches other aio functions
in the rbd block driver, and leave out bdrv_co_flush_to_disk when the
asynchronous version is available.

Reported-by: Oliver Francke <address@hidden>
Signed-off-by: Josh Durgin <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit dc7588c1eb3008bda53dde1d6b890cd299758155)
Signed-off-by: Michael Roth <address@hidden>


  Commit: 745f6c0ef7f2fcd025e395538f1e2e3c9893de41
      
https://github.com/qemu/qemu/commit/745f6c0ef7f2fcd025e395538f1e2e3c9893de41
  Author: Aneesh Kumar K.V <address@hidden>
  Date:   2013-05-20 (Mon, 20 May 2013)

  Changed paths:
    M hw/9pfs/virtio-9p.c

  Log Message:
  -----------
  hw/9pfs: Fix segfault with 9p2000.u

When guest tries to chmod a block or char device file over 9pfs,
the qemu process segfaults. With 9p2000.u protocol we use wstat to
change mode bits and client don't send extension information for
chmod. We need to check for size field to check whether extension
info is present or not.

Signed-off-by: Aneesh Kumar K.V <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reported-by: Michael Tokarev <address@hidden>
Acked-by: Michael Tokarev <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: f890185392aac149caf0631112049f2fb2e0cb41
      
https://github.com/qemu/qemu/commit/f890185392aac149caf0631112049f2fb2e0cb41
  Author: Aneesh Kumar K.V <address@hidden>
  Date:   2013-05-20 (Mon, 20 May 2013)

  Changed paths:
    M hw/9pfs/virtio-9p-local.c

  Log Message:
  -----------
  hw/9pfs: use O_NOFOLLOW for mapped readlink operation

With mapped security models like mapped-xattr and mapped-file, we save the
symlink target as file contents. Now if we ever expose a normal directory
with mapped security model and find real symlinks in export path, never
follow them and return proper error.

Signed-off-by: Aneesh Kumar K.V <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: e85b52151994034346cb3fff4fa75ae361348a4c
      
https://github.com/qemu/qemu/commit/e85b52151994034346cb3fff4fa75ae361348a4c
  Author: Hervé Poussineau <address@hidden>
  Date:   2013-05-20 (Mon, 20 May 2013)

  Changed paths:
    M target-ppc/translate_init.c

  Log Message:
  -----------
  ppc: do not register IABR SPR twice for 603e

IABR SPR is already registered in gen_spr_603(), called from init_proc_603E().

Signed-off-by: Hervé Poussineau <address@hidden>
Signed-off-by: Michael Roth <address@hidden>


  Commit: 89400a80f5827ae3696e3da73df0996154965a0a
      
https://github.com/qemu/qemu/commit/89400a80f5827ae3696e3da73df0996154965a0a
  Author: Michael Roth <address@hidden>
  Date:   2013-05-23 (Thu, 23 May 2013)

  Changed paths:
    M VERSION

  Log Message:
  -----------
  update VERSION for 1.4.2

Signed-off-by: Michael Roth <address@hidden>


Compare: https://github.com/qemu/qemu/compare/57105f7480f7...89400a80f582

reply via email to

[Prev in Thread] Current Thread [Next in Thread]