qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] a66c4b: iotests: add 248: test resume mirror


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] a66c4b: iotests: add 248: test resume mirror after auto pa...
Date: Tue, 26 Mar 2019 16:27:07 +0000 (UTC)

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: a66c4b83c99c06626bed19ec0bf609bfe87a8cf3
      
https://github.com/qemu/qemu/commit/a66c4b83c99c06626bed19ec0bf609bfe87a8cf3
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2019-03-26 (Tue, 26 Mar 2019)

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

  Log Message:
  -----------
  iotests: add 248: test resume mirror after auto pause on ENOSPC

Test that mirror job actually resume on resume command after being
automatically paused on ENOSPC error.

It's a follow-up test for 8d9648cbf3e
    "blockjob: fix user pause in block_job_error_action"

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Tested-by: John Snow <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 48ce986096bb70354b12f0becb253a06bcf9c434
      
https://github.com/qemu/qemu/commit/48ce986096bb70354b12f0becb253a06bcf9c434
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-26 (Tue, 26 Mar 2019)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Remove error messages in bdrv_make_zero()

There is only a single caller of bdrv_make_zero(), which is qemu-img
convert. If the function fails, we just fall back to a different method
of zeroing out blocks on the target image. There is no good reason to
print error messages on stderr when the higher level operation will
actually succeed.

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


  Commit: fe0480d6294270ff0d6fb60e66bb725a6aad2043
      
https://github.com/qemu/qemu/commit/fe0480d6294270ff0d6fb60e66bb725a6aad2043
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-26 (Tue, 26 Mar 2019)

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

  Log Message:
  -----------
  block: Add BDRV_REQ_NO_FALLBACK

For qemu-img convert, we want an operation that zeroes out the whole
image if this can be done efficiently, but that returns an error
otherwise so we don't write explicit zeroes and immediately overwrite
them with the real data, potentially doubling the amount of data to be
written.

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


  Commit: 80f5c33ff31eb9333f5036ee278fb1483fb4ff41
      
https://github.com/qemu/qemu/commit/80f5c33ff31eb9333f5036ee278fb1483fb4ff41
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-26 (Tue, 26 Mar 2019)

  Changed paths:
    M block/blkdebug.c
    M block/copy-on-read.c
    M block/mirror.c
    M block/raw-format.c

  Log Message:
  -----------
  block: Advertise BDRV_REQ_NO_FALLBACK in filter drivers

Filter drivers that support .bdrv_co_pwrite_zeroes can safely advertise
BDRV_REQ_NO_FALLBACK because they just forward the request flags to
their child node.

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


  Commit: 738301e11758171defaa5a5237d584f8226af89f
      
https://github.com/qemu/qemu/commit/738301e11758171defaa5a5237d584f8226af89f
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-26 (Tue, 26 Mar 2019)

  Changed paths:
    M block/file-posix.c
    M include/block/raw-aio.h

  Log Message:
  -----------
  file-posix: Support BDRV_REQ_NO_FALLBACK for zero writes

We know that the kernel implements a slow fallback code path for
BLKZEROOUT, so if BDRV_REQ_NO_FALLBACK is given, we shouldn't call it.
The other operations we call in the context of .bdrv_co_pwrite_zeroes
should usually be quick, so no modification should be needed for them.
If we ever notice that there are additional problematic cases, we can
still make these conditional as well.

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


  Commit: c9fdcf202f19fc2acdcb1ee0522ff5d61bf8c906
      
https://github.com/qemu/qemu/commit/c9fdcf202f19fc2acdcb1ee0522ff5d61bf8c906
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-26 (Tue, 26 Mar 2019)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img: Use BDRV_REQ_NO_FALLBACK for pre-zeroing

If qemu-img convert sees that the target image isn't zero-initialised
yet, it tries to do an efficient zero write for the whole image first
to save the overhead of repeated explicit zero writes during the
conversion. Obviously, this provides only an advantage if the
pre-zeroing is actually efficient. Otherwise, we can end up writing
zeroes slowly while zeroing out the whole image, and then overwrite the
same blocks again with real data, potentially doubling the written data.

Pass BDRV_REQ_NO_FALLBACK to blk_make_zero() to avoid this case. If we
can't efficiently zero out, we'll instead write explicit zeroes only if
there is no data to be written to a block.

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


  Commit: c6e3f520c802c5cb2de80576aba7f9f1fe985d8b
      
https://github.com/qemu/qemu/commit/c6e3f520c802c5cb2de80576aba7f9f1fe985d8b
  Author: Kevin Wolf <address@hidden>
  Date:   2019-03-26 (Tue, 26 Mar 2019)

  Changed paths:
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: Add write -n for BDRV_REQ_NO_FALLBACK

This makes the new BDRV_REQ_NO_FALLBACK flag available in the qemu-io
write command.

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


  Commit: 1bd2e35c2992c679ef8b223153d47ffce76e7dc5
      
https://github.com/qemu/qemu/commit/1bd2e35c2992c679ef8b223153d47ffce76e7dc5
  Author: Peter Maydell <address@hidden>
  Date:   2019-03-26 (Tue, 26 Mar 2019)

  Changed paths:
    M block/blkdebug.c
    M block/copy-on-read.c
    M block/file-posix.c
    M block/io.c
    M block/mirror.c
    M block/raw-format.c
    M include/block/block.h
    M include/block/raw-aio.h
    M qemu-img.c
    M qemu-io-cmds.c
    A tests/qemu-iotests/248
    A tests/qemu-iotests/248.out
    M tests/qemu-iotests/group

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

Block layer patches:

- Fix slow pre-zeroing in qemu-img convert
- Test case for block job pausing on I/O errors

# gpg: Signature made Tue 26 Mar 2019 15:28:00 GMT
# gpg:                using RSA key 7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream:
  qemu-io: Add write -n for BDRV_REQ_NO_FALLBACK
  qemu-img: Use BDRV_REQ_NO_FALLBACK for pre-zeroing
  file-posix: Support BDRV_REQ_NO_FALLBACK for zero writes
  block: Advertise BDRV_REQ_NO_FALLBACK in filter drivers
  block: Add BDRV_REQ_NO_FALLBACK
  block: Remove error messages in bdrv_make_zero()
  iotests: add 248: test resume mirror after auto pause on ENOSPC

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


Compare: https://github.com/qemu/qemu/compare/905870b53c03...1bd2e35c2992



reply via email to

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