qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] b85743: file-posix: Include filename in locki


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] b85743: file-posix: Include filename in locking error mess...
Date: Tue, 02 Oct 2018 01:05:38 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b857431d2abe3945b672b41f33690e9943a8752a
      
https://github.com/qemu/qemu/commit/b857431d2abe3945b672b41f33690e9943a8752a
  Author: Fam Zheng <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/file-posix.c
    M tests/qemu-iotests/153.out
    M tests/qemu-iotests/182.out

  Log Message:
  -----------
  file-posix: Include filename in locking error message

Image locking errors happening at device initialization time doesn't say
which file cannot be locked, for instance,

    -device scsi-disk,drive=drive-1: Failed to get shared "write" lock
    Is another process using the image?

could refer to either the overlay image or its backing image.

Hoist the error_append_hint to the caller of raw_check_lock_bytes where
file name is known, and include it in the error hint.

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a8003ec40d0755228b646408d653bf0969d6ac33
      
https://github.com/qemu/qemu/commit/a8003ec40d0755228b646408d653bf0969d6ac33
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: Fix writethrough check in reopen

"qemu-io reopen" doesn't allow changing the writethrough setting of
the cache, but the check is wrong, causing an error even on a simple
reopen with the default parameters:

   $ qemu-img create -f qcow2 hd.qcow2 1M
   $ qemu-system-x86_64 -monitor stdio -drive if=virtio,file=hd.qcow2
   (qemu) qemu-io virtio0 reopen
   Cannot change cache.writeback: Device attached

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 589f20dccd94f6fab3cd3d2e0d21aae0c7210d12
      
https://github.com/qemu/qemu/commit/589f20dccd94f6fab3cd3d2e0d21aae0c7210d12
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: x-check-cache-dropped should default to false on reopen

The default value of x-check-cache-dropped is false. There's no reason
to use the previous value as a default in raw_reopen_prepare() because
bdrv_reopen_queue_child() already takes care of putting the old
options in the BDRVReopenState.options QDict.

If x-check-cache-dropped was previously set but is now missing from
the reopen QDict then it should be reset to false.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 50196d7a7c73133a6a6bf484571fb8f5daf7f104
      
https://github.com/qemu/qemu/commit/50196d7a7c73133a6a6bf484571fb8f5daf7f104
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Remove child references from bs->{options,explicit_options}

Block drivers allow opening their children using a reference to an
existing BlockDriverState. These references remain stored in the
'options' and 'explicit_options' QDicts, but we don't need to keep
them once everything is open.

What is more important, these values can become wrong if the children
change:

    $ qemu-img create -f qcow2 hd0.qcow2 10M
    $ qemu-img create -f qcow2 hd1.qcow2 10M
    $ qemu-img create -f qcow2 hd2.qcow2 10M
    $ $QEMU -drive if=none,file=hd0.qcow2,node-name=hd0 \
      -drive if=none,file=hd1.qcow2,node-name=hd1,backing=hd0 \
      -drive file=hd2.qcow2,node-name=hd2,backing=hd1

After this hd2 has hd1 as its backing file. Now let's remove it using
block_stream:

    (qemu) block_stream hd2 0 hd0.qcow2

Now hd0 is the backing file of hd2, but hd2's options QDicts still
contain backing=hd1.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a600aaddc3894618b8a0a20a084dd0515c26f4d5
      
https://github.com/qemu/qemu/commit/a600aaddc3894618b8a0a20a084dd0515c26f4d5
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Don't look for child references in append_open_options()

In the previous patch we removed child references from bs->options, so
there's no need to look for them here anymore.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: db905283b8084f168d239b2d7bfbf3e2f01ed50f
      
https://github.com/qemu/qemu/commit/db905283b8084f168d239b2d7bfbf3e2f01ed50f
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Allow child references on reopen

In the previous patches we removed all child references from
bs->{options,explicit_options} because keeping them is useless and
wrong.

Because of this, any attempt to reopen a BlockDriverState using a
child reference as one of its options would result in a failure,
because bdrv_reopen_prepare() would detect that there's a new option
(the child reference) that wasn't present in bs->options.

But passing child references on reopen can be useful. It's a way to
specify a BDS's child without having to pass recursively all of the
child's options, and if the reference points to a different BDS then
this can allow us to replace the child.

However, replacing the child is something that needs to be implemented
case by case and only when it makes sense. For now, this patch allows
passing a child reference as long as it points to the current child of
the BlockDriverState.

It's also important to remember that, as a consequence of the
previous patches, this child reference will be removed from
bs->{options,explicit_options} after the reopening has been completed.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 57f9db9a947f4d32bbd56ed9b1e0989f6c306dfb
      
https://github.com/qemu/qemu/commit/57f9db9a947f4d32bbd56ed9b1e0989f6c306dfb
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Forbid trying to change unsupported options during reopen

The bdrv_reopen_prepare() function checks all options passed to each
BlockDriverState (in the reopen_state->options QDict) and makes all
necessary preparations to apply the option changes requested by the
user.

Options are removed from the QDict as they are processed, so at the
end of bdrv_reopen_prepare() only the options that can't be changed
are left. Then a loop goes over all remaining options and verifies
that the old and new values are identical, returning an error if
they're not.

The problem is that at the moment there are options that are removed
from the QDict although they can't be changed. The consequence of this
is any modification to any of those options is silently ignored:

   (qemu) qemu-io virtio0 "reopen -o discard=on"

This happens when all options from bdrv_runtime_opts are removed
from the QDict but then only a few of them are processed. Since
it's especially important that "node-name" and "driver" are not
changed, the code puts them back into the QDict so they are checked
at the end of the function. Instead of putting only those two options
back into the QDict, this patch puts all unprocessed options using
qemu_opts_to_qdict().

update_flags_from_options() also needs to be modified to prevent
BDRV_OPT_CACHE_NO_FLUSH, BDRV_OPT_CACHE_DIRECT and BDRV_OPT_READ_ONLY
from going back to the QDict.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8d3245750be30f3191f710f52fbe53ca10e78bfc
      
https://github.com/qemu/qemu/commit/8d3245750be30f3191f710f52fbe53ca10e78bfc
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Forbid trying to change unsupported options during reopen

The file-posix code is used for the "file", "host_device" and
"host_cdrom" drivers, and it allows reopening images. However the only
option that is actually processed is "x-check-cache-dropped", and
changes in all other options (e.g. "filename") are silently ignored:

   (qemu) qemu-io virtio0 "reopen -o file.filename=no-such-file"

While we could allow changing some of the other options, let's keep
things as they are for now but return an error if the user tries to
change any of them.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 593b30719713cfad98b869693095893f8edf76c1
      
https://github.com/qemu/qemu/commit/593b30719713cfad98b869693095893f8edf76c1
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Allow changing 'discard' on reopen

'discard' is one of the basic BlockdevOptions available for all
drivers, but it's not handled by bdrv_reopen_prepare() so any attempt
to change it results in an error:

   (qemu) qemu-io virtio0 "reopen -o discard=on"
   Cannot change the option 'discard'

Since there's no reason why we shouldn't allow changing it and the
implementation is simple let's just do it.

Signed-off-by: Alberto Garcia <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 543770bd2e8fbaac286a947dee91675adb3215c7
      
https://github.com/qemu/qemu/commit/543770bd2e8fbaac286a947dee91675adb3215c7
  Author: Alberto Garcia <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block.c
    M include/block/block.h

  Log Message:
  -----------
  block: Allow changing 'detect-zeroes' on reopen

'detect-zeroes' is one of the basic BlockdevOptions available for all
drivers, but it's not handled by bdrv_reopen_prepare(), so any attempt
to change it results in an error:

   (qemu) qemu-io virtio0 "reopen -o detect-zeroes=on"
   Cannot change the option 'detect-zeroes'

Since there's no reason why we shouldn't allow changing it and the
implementation is simple let's just do it.

Signed-off-by: Alberto Garcia <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 40fb215d483ce510e211b843352288894eb13285
      
https://github.com/qemu/qemu/commit/40fb215d483ce510e211b843352288894eb13285
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M docs/qcow2-cache.txt
    M qemu-options.hx

  Log Message:
  -----------
  qcow2: Options' documentation fixes

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 540b8492618ebbe98e7462bd7d31361b8cb10a05
      
https://github.com/qemu/qemu/commit/540b8492618ebbe98e7462bd7d31361b8cb10a05
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M include/qemu/units.h

  Log Message:
  -----------
  include: Add a lookup table of sizes

Adding a lookup table for the powers of two, with the appropriate size
prefixes. This is needed when a size has to be stringified, in which
case something like '(1 * KiB)' would become a literal '(1 * (1L << 10))'
string. Powers of two are used very often for sizes, so such a table
will also make it easier and more intuitive to write them.

This table is generatred using the following AWK script:

BEGIN {
        suffix="KMGTPE";
        for(i=10; i<64; i++) {
                val=2**i;
                s=substr(suffix, int(i/10), 1);
                n=2**(i%10);
                pad=21-int(log(n)/log(10));
                printf("#define S_%d%siB %*d\n", n, s, pad, val);
        }
}

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b6a95c6d10075bb540ce50198bbe22fc0a4392c7
      
https://github.com/qemu/qemu/commit/b6a95c6d10075bb540ce50198bbe22fc0a4392c7
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/qcow2.c
    M block/qcow2.h

  Log Message:
  -----------
  qcow2: Make sizes more humanly readable

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 657ada52abb85140e56949f522ecec527b256450
      
https://github.com/qemu/qemu/commit/657ada52abb85140e56949f522ecec527b256450
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Avoid duplication in setting the refcount cache size

The refcount cache size does not need to be set to its minimum value in
read_cache_sizes(), as it is set to at least its minimum value in
qcow2_update_options_prepare().

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b749562d9822d14ef69c9eaa5f85903010b86c30
      
https://github.com/qemu/qemu/commit/b749562d9822d14ef69c9eaa5f85903010b86c30
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/qcow2.c
    M block/qcow2.h
    M docs/qcow2-cache.txt
    M qemu-options.hx
    M tests/qemu-iotests/137
    M tests/qemu-iotests/137.out

  Log Message:
  -----------
  qcow2: Assign the L2 cache relatively to the image size

Sufficient L2 cache can noticeably improve the performance when using
large images with frequent I/O.

Previously, unless 'cache-size' was specified and was large enough, the
L2 cache was set to a certain size without taking the virtual image size
into account.

Now, the L2 cache assignment is aware of the virtual size of the image,
and will cover the entire image, unless the cache size needed for that is
larger than a certain maximum. This maximum is set to 1 MB by default
(enough to cover an 8 GB image with the default cluster size) but can
be increased or decreased using the 'l2-cache-size' option. This option
was previously documented as the *maximum* L2 cache size, and this patch
makes it behave as such, instead of as a constant size. Also, the
existing option 'cache-size' can limit the sum of both L2 and refcount
caches, as previously.

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 80668d0fb735f0839a46278a7d42116089b82816
      
https://github.com/qemu/qemu/commit/80668d0fb735f0839a46278a7d42116089b82816
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/qcow2.h
    M docs/qcow2-cache.txt
    M qemu-options.hx

  Log Message:
  -----------
  qcow2: Increase the default upper limit on the L2 cache size

The upper limit on the L2 cache size is increased from 1 MB to 32 MB
on Linux platforms, and to 8 MB on other platforms (this difference is
caused by the ability to set intervals for cache cleaning on Linux
platforms only).

This is done in order to allow default full coverage with the L2 cache
for images of up to 256 GB in size (was 8 GB). Note, that only the
needed amount to cover the full image is allocated. The value which is
changed here is just the upper limit on the L2 cache size, beyond which
it will not grow, even if the size of the image will require it to.

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 45b4949c7bcdcd998cb42f5c517e80a2657cfd33
      
https://github.com/qemu/qemu/commit/45b4949c7bcdcd998cb42f5c517e80a2657cfd33
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Resize the cache upon image resizing

The caches are now recalculated upon image resizing. This is done
because the new default behavior of assigning L2 cache relatively to
the image size, implies that the cache will be adapted accordingly
after an image resize.

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e957b50b8daecfc39a1ac09855b0eacb6edfd328
      
https://github.com/qemu/qemu/commit/e957b50b8daecfc39a1ac09855b0eacb6edfd328
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/qcow2.c
    M block/qcow2.h
    M docs/qcow2-cache.txt
    M qapi/block-core.json
    M qemu-options.hx

  Log Message:
  -----------
  qcow2: Set the default cache-clean-interval to 10 minutes

The default cache-clean-interval is set to 10 minutes, in order to lower
the overhead of the qcow2 caches (before the default was 0, i.e.
disabled).

* For non-Linux platforms the default is kept at 0, because
  cache-clean-interval is not supported there yet.

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: bd016b912cc68c6f6c68cd5acb2e13126bd9e05c
      
https://github.com/qemu/qemu/commit/bd016b912cc68c6f6c68cd5acb2e13126bd9e05c
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Explicit number replaced by a constant

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: cb53460b708db3617ab73248374d071d5552c263
      
https://github.com/qemu/qemu/commit/cb53460b708db3617ab73248374d071d5552c263
  Author: Kevin Wolf <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block/block-backend.c
    M tests/qemu-iotests/067.out

  Log Message:
  -----------
  block-backend: Set werror/rerror defaults in blk_new()

Currently, the default values for werror and rerror have to be set
explicitly with blk_set_on_error() by the callers of blk_new(). The only
caller actually doing this is blockdev_init(), which is called for
BlockBackends created using -drive.

In particular, anonymous BlockBackends created with
-device ...,drive=<node-name> didn't get the correct default set and
instead defaulted to the integer value 0 (= BLOCKDEV_ON_ERROR_REPORT).
This is the intended default for rerror anyway, but the default for
werror should be BLOCKDEV_ON_ERROR_ENOSPC.

Set the defaults in blk_new() instead so that they apply no matter what
way the BlockBackend was created.

Cc: address@hidden
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>


  Commit: e3a7b4556ee33feba2b396769a9c8354be06b024
      
https://github.com/qemu/qemu/commit/e3a7b4556ee33feba2b396769a9c8354be06b024
  Author: Leonid Bloch <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M docs/qcow2-cache.txt
    M qapi/block-core.json
    M qemu-options.hx

  Log Message:
  -----------
  qcow2: Fix cache-clean-interval documentation

Fixing cache-clean-interval documentation following the recent change to
a default of 600 seconds on supported plarforms (only Linux currently).

Signed-off-by: Leonid Bloch <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 90042c6aac52be33f96ea38e3d12238628972927
      
https://github.com/qemu/qemu/commit/90042c6aac52be33f96ea38e3d12238628972927
  Author: Kevin Wolf <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M tests/test-replication.c

  Log Message:
  -----------
  test-replication: Lock AioContext around blk_unref()

Recently, the test case has started failing because some job related
functions want to drop the AioContext lock even though it hasn't been
taken:

    (gdb) bt
    #0  0x00007f51c067c9fb in raise () from /lib64/libc.so.6
    #1  0x00007f51c067e77d in abort () from /lib64/libc.so.6
    #2  0x0000558c9d5dde7b in error_exit (err=<optimized out>, address@hidden 
<__func__.18373> "qemu_mutex_unlock_impl") at util/qemu-thread-posix.c:36
    #3  0x0000558c9d6b5263 in qemu_mutex_unlock_impl (address@hidden, 
address@hidden "util/async.c", address@hidden) at util/qemu-thread-posix.c:96
    #4  0x0000558c9d6b0565 in aio_context_release (address@hidden) at 
util/async.c:516
    #5  0x0000558c9d5eb3da in job_completed_txn_abort (job=0x558c9f68e640) at 
job.c:738
    #6  0x0000558c9d5eb227 in job_finish_sync (job=0x558c9f68e640, 
address@hidden <job_cancel_err>, address@hidden) at job.c:986
    #7  0x0000558c9d5eb8ee in job_cancel_sync (job=<optimized out>) at job.c:941
    #8  0x0000558c9d64d853 in replication_close (bs=<optimized out>) at 
block/replication.c:148
    #9  0x0000558c9d5e5c9f in bdrv_close (bs=0x558c9f41b020) at block.c:3420
    #10 bdrv_delete (bs=0x558c9f41b020) at block.c:3629
    #11 bdrv_unref (bs=0x558c9f41b020) at block.c:4685
    #12 0x0000558c9d62a3f3 in blk_remove_bs (address@hidden) at 
block/block-backend.c:783
    #13 0x0000558c9d62a667 in blk_delete (blk=0x558c9f42a7c0) at 
block/block-backend.c:402
    #14 blk_unref (blk=0x558c9f42a7c0) at block/block-backend.c:457
    #15 0x0000558c9d5dfcea in test_secondary_stop () at 
tests/test-replication.c:478
    #16 0x00007f51c1f13178 in g_test_run_suite_internal () from 
/lib64/libglib-2.0.so.0
    #17 0x00007f51c1f1337b in g_test_run_suite_internal () from 
/lib64/libglib-2.0.so.0
    #18 0x00007f51c1f1337b in g_test_run_suite_internal () from 
/lib64/libglib-2.0.so.0
    #19 0x00007f51c1f13552 in g_test_run_suite () from /lib64/libglib-2.0.so.0
    #20 0x00007f51c1f13571 in g_test_run () from /lib64/libglib-2.0.so.0
    #21 0x0000558c9d5de31f in main (argc=<optimized out>, argv=<optimized out>) 
at tests/test-replication.c:581

It is yet unclear whether this should really be considered a bug in the
test case or whether blk_unref() should work for callers that haven't
taken the AioContext lock, but in order to fix the build tests quickly,
just take the AioContext lock around blk_unref().

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: dd353157942a59c21da07da5ac8749a871f7c3ed
      
https://github.com/qemu/qemu/commit/dd353157942a59c21da07da5ac8749a871f7c3ed
  Author: Kevin Wolf <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M tests/test-bdrv-drain.c

  Log Message:
  -----------
  tests/test-bdrv-drain: Fix too late qemu_event_reset()

qemu_event_reset() must be called before the AIO request in a different
iothread is submitted. Otherwise the request could be completed before
we do the qemu_event_reset() and the test would hang in
qemu_event_wait().

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Tested-by: Max Reitz <address@hidden>


  Commit: e32e62f2533cf33a14110a2358526e43d6f362d7
      
https://github.com/qemu/qemu/commit/e32e62f2533cf33a14110a2358526e43d6f362d7
  Author: Peter Maydell <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M block.c
    M block/block-backend.c
    M block/file-posix.c
    M block/qcow2.c
    M block/qcow2.h
    M docs/qcow2-cache.txt
    M include/block/block.h
    M include/qemu/units.h
    M qapi/block-core.json
    M qemu-io-cmds.c
    M qemu-options.hx
    M tests/qemu-iotests/067.out
    M tests/qemu-iotests/137
    M tests/qemu-iotests/137.out
    M tests/qemu-iotests/153.out
    M tests/qemu-iotests/182.out
    M tests/test-bdrv-drain.c
    M tests/test-replication.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block layer patches:

- qcow2 cache option default changes (Linux: 32 MB maximum, limited by
  whatever cache size can be made use of with the specific image;
  default cache-clean-interval of 10 minutes)
- reopen: Allow specifying unchanged child node references, and changing
  a few generic options (discard, detect-zeroes)
- Fix werror/rerror defaults for -device drive=<node-name>
- Test case fixes

# gpg: Signature made Mon 01 Oct 2018 18:17:35 BST
# gpg:                using RSA key 7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream: (23 commits)
  tests/test-bdrv-drain: Fix too late qemu_event_reset()
  test-replication: Lock AioContext around blk_unref()
  qcow2: Fix cache-clean-interval documentation
  block-backend: Set werror/rerror defaults in blk_new()
  qcow2: Explicit number replaced by a constant
  qcow2: Set the default cache-clean-interval to 10 minutes
  qcow2: Resize the cache upon image resizing
  qcow2: Increase the default upper limit on the L2 cache size
  qcow2: Assign the L2 cache relatively to the image size
  qcow2: Avoid duplication in setting the refcount cache size
  qcow2: Make sizes more humanly readable
  include: Add a lookup table of sizes
  qcow2: Options' documentation fixes
  block: Allow changing 'detect-zeroes' on reopen
  block: Allow changing 'discard' on reopen
  file-posix: Forbid trying to change unsupported options during reopen
  block: Forbid trying to change unsupported options during reopen
  block: Allow child references on reopen
  block: Don't look for child references in append_open_options()
  block: Remove child references from bs->{options,explicit_options}
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/a2ef4d9e9540...e32e62f2533c
      **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

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