qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 5dd7a5: block/iscsi: add support for request


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 5dd7a5: block/iscsi: add support for request timeouts
Date: Thu, 02 Jul 2015 06:00:04 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 5dd7a535b71a0f2f8e7af75c5d694174359ce323
      
https://github.com/qemu/qemu/commit/5dd7a535b71a0f2f8e7af75c5d694174359ce323
  Author: Peter Lieven <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/iscsi.c
    M configure
    M qemu-options.hx

  Log Message:
  -----------
  block/iscsi: add support for request timeouts

libiscsi starting with 1.15 will properly support timeout of iscsi
commands. The default will remain no timeout, but this can
be changed via cmdline parameters, e.g.:

qemu -iscsi timeout=30 -drive file=iscsi://...

If a timeout occurs a reconnect is scheduled and the timed out command
will be requeued for processing after a successful reconnect.

The required API call iscsi_set_timeout is present since libiscsi
1.10 which was released in October 2013. However, due to some bugs
in the libiscsi code the use is not recommended before version 1.15.

Please note that this patch bumps the libiscsi requirement to 1.10
to have all function and macros defined. The patch fixes also a
off-by-one error in the NOP timeout calculation which was fixed
while touching these code parts.

Signed-off-by: Peter Lieven <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 3e5feb6202149e8a963a33b911216e40d790f1d7
      
https://github.com/qemu/qemu/commit/3e5feb6202149e8a963a33b911216e40d790f1d7
  Author: Jindřich Makovička <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/qcow2-refcount.c

  Log Message:
  -----------
  qcow2: Handle EAGAIN returned from update_refcount

Fixes a crash during image compression

Signed-off-by: Jindřich Makovička <address@hidden>
Tested-by: Richard W.M. Jones <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 4b80ab2b7d950d5b22647b364e37eb81c756f061
      
https://github.com/qemu/qemu/commit/4b80ab2b7d950d5b22647b364e37eb81c756f061
  Author: John Snow <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/backup.c
    M block/mirror.c
    M docs/bitmaps.md
    M include/block/block_int.h
    M qapi/block-core.json
    M qmp-commands.hx
    M tests/qemu-iotests/124

  Log Message:
  -----------
  qapi: Rename 'dirty-bitmap' mode to 'incremental'

If we wish to make differential backups a feature that's easy to access,
it might be pertinent to rename the "dirty-bitmap" mode to "incremental"
to make it clear what /type/ of backup the dirty-bitmap is helping us
perform.

This is an API breaking change, but 2.4 has not yet gone live,
so we have this flexibility.

Signed-off-by: John Snow <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 126b8bbdfe8bc4042f13f230a4b36f90646f47c6
      
https://github.com/qemu/qemu/commit/126b8bbdfe8bc4042f13f230a4b36f90646f47c6
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  blockdev: no need to drain+flush in hmp_drive_del

bdrv_close already does that, and in fact hmp_drive_del would need
another drain after the flush (which bdrv_close does).  So remove
the duplication.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 471fae3c98d4f44b1957eb09d51ace440c585a20
      
https://github.com/qemu/qemu/commit/471fae3c98d4f44b1957eb09d51ace440c585a20
  Author: Alberto Garcia <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M include/qemu/throttle.h
    M include/qemu/timer.h

  Log Message:
  -----------
  timer: Move NANOSECONDS_PER_SECONDS to timer.h

We want to be able to reuse this define by making it common to
multiple QEMU modules.

This also makes it an integer since there's no need for it to be a
float.

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e0cf11f31c24cfb17f44ed46c254d84c78e7f6e9
      
https://github.com/qemu/qemu/commit/e0cf11f31c24cfb17f44ed46c254d84c78e7f6e9
  Author: Alberto Garcia <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M hw/ppc/ppc.c
    M hw/ppc/spapr_rtc.c
    M hw/timer/mc146818rtc.c
    M hw/usb/hcd-ehci.c
    M include/qemu/timer.h
    M tests/rtl8139-test.c
    M tests/test-throttle.c
    M tests/wdt_ib700-test.c
    M util/throttle.c

  Log Message:
  -----------
  timer: Use a single definition of NSEC_PER_SEC for the whole codebase

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: ba3f0e2545c365ebe1dbddb0e53058710d41881e
      
https://github.com/qemu/qemu/commit/ba3f0e2545c365ebe1dbddb0e53058710d41881e
  Author: Fam Zheng <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

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

  Log Message:
  -----------
  block: Add bdrv_get_block_status_above

Like bdrv_is_allocated_above, this function follows the backing chain until 
seeing
BDRV_BLOCK_ALLOCATED.  Base is not included.

Reimplement bdrv_is_allocated on top.

[Initialized bdrv_co_get_block_status_above() ret to 0 to silence
mingw64 compiler warning about the unitialized variable.  assert(bs !=
base) prevents that case but I suppose the program could be compiled
with -DNDEBUG.
--Stefan]

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 0fc9f8ea2800b76eaea20a8a3a91fbeeb4bfa81b
      
https://github.com/qemu/qemu/commit/0fc9f8ea2800b76eaea20a8a3a91fbeeb4bfa81b
  Author: Fam Zheng <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/mirror.c
    M blockdev.c
    M hmp.c
    M include/block/block_int.h
    M qapi/block-core.json
    M qmp-commands.hx

  Log Message:
  -----------
  qmp: Add optional bool "unmap" to drive-mirror

If specified as "true", it allows discarding on target sectors where source is
not allocated.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: dcfb3beb5130694b76b57de109619fcbf9c7e5b5
      
https://github.com/qemu/qemu/commit/dcfb3beb5130694b76b57de109619fcbf9c7e5b5
  Author: Fam Zheng <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  mirror: Do zero write on target if sectors not allocated

If guest discards a source cluster, mirroring with bdrv_aio_readv is overkill.
Some protocols do zero upon discard, where it's best to use
bdrv_aio_write_zeroes, otherwise, bdrv_aio_discard will be enough.

Signed-off-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 508249952c0ea7472c62e17bf8132295dab4912d
      
https://github.com/qemu/qemu/commit/508249952c0ea7472c62e17bf8132295dab4912d
  Author: Fam Zheng <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Fix dirty bitmap in bdrv_co_discard

Unsetting dirty globally with discard is not very correct. The discard may zero
out sectors (depending on can_write_zeroes_with_unmap), we should replicate
this change to destination side to make sure that the guest sees the same data.

Calling bdrv_reset_dirty also troubles mirror job because the hbitmap iterator
doesn't expect unsetting of bits after current position.

So let's do it the opposite way which fixes both problems: set the dirty bits
if we are to discard it.

Reported-by: address@hidden
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 6e82e4bce127654b2dd42ef393587775be792334
      
https://github.com/qemu/qemu/commit/6e82e4bce127654b2dd42ef393587775be792334
  Author: Fam Zheng <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

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

  Log Message:
  -----------
  block: Remove bdrv_reset_dirty

Using this function would always be wrong because a dirty bitmap must
have a specific owner that consumes the dirty bits and calls
bdrv_reset_dirty_bitmap().

Remove the unused function to avoid future misuse.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 866323f39d5c7bb053f5e5bf753908ad9f5abec7
      
https://github.com/qemu/qemu/commit/866323f39d5c7bb053f5e5bf753908ad9f5abec7
  Author: Fam Zheng <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M tests/qemu-iotests/041
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  qemu-iotests: Make block job methods common

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: John Snow <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: c615091793f53ff33b8f6c1b1ba711cf7c93e97b
      
https://github.com/qemu/qemu/commit/c615091793f53ff33b8f6c1b1ba711cf7c93e97b
  Author: Fam Zheng <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

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

  Log Message:
  -----------
  qemu-iotests: Add test case for mirror with unmap

This checks that the discard on mirror source that effectively zeroes
data is also reflected by the data of target.

Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: d7b25297920d18fa2a2cde1ed21fde38a88c935f
      
https://github.com/qemu/qemu/commit/d7b25297920d18fa2a2cde1ed21fde38a88c935f
  Author: Fam Zheng <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotests: Use event_wait in wait_ready

Only poll the specific type of event we are interested in, to avoid
stealing events that should be consumed by someone else.

Suggested-by: John Snow <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 9049736ec70fdc886ac0df521fdd8b2886b2cb63
      
https://github.com/qemu/qemu/commit/9049736ec70fdc886ac0df521fdd8b2886b2cb63
  Author: Peter Lieven <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/iscsi.c
    M configure
    M qemu-options.hx

  Log Message:
  -----------
  block/iscsi: restore compatiblity with libiscsi 1.9.0

RHEL7 and others are stuck with libiscsi 1.9.0 since there
unfortunately was an ABI breakage after that release.

Signed-off-by: Peter Lieven <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 29c838cdc96c4d117f00c75bbcb941e1be9590fb
      
https://github.com/qemu/qemu/commit/29c838cdc96c4d117f00c75bbcb941e1be9590fb
  Author: Peter Lieven <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/nfs.c

  Log Message:
  -----------
  block/nfs: limit maximum readahead size to 1MB

a malicious caller could otherwise specify a very
large value via the URI and force libnfs to allocate
a large amount of memory for the readahead buffer.

Cc: address@hidden
Signed-off-by: Peter Lieven <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 764ba3ae511adddfa750db290ac8375d660ca5b9
      
https://github.com/qemu/qemu/commit/764ba3ae511adddfa750db290ac8375d660ca5b9
  Author: Alberto Garcia <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: remove redundant check before g_slist_find()

An empty GSList is represented by a NULL pointer, therefore it's a
perfectly valid argument for g_slist_find() and there's no need to
make any additional check.

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 6686ce3f1628f045035d58db8890d20705fd5c34
      
https://github.com/qemu/qemu/commit/6686ce3f1628f045035d58db8890d20705fd5c34
  Author: Peter Maydell <address@hidden>
  Date:   2015-07-02 (Thu, 02 Jul 2015)

  Changed paths:
    M block.c
    M block/backup.c
    M block/io.c
    M block/iscsi.c
    M block/mirror.c
    M block/nfs.c
    M block/qcow2-refcount.c
    M blockdev.c
    M docs/bitmaps.md
    M hmp.c
    M hw/ppc/ppc.c
    M hw/ppc/spapr_rtc.c
    M hw/timer/mc146818rtc.c
    M hw/usb/hcd-ehci.c
    M include/block/block.h
    M include/block/block_int.h
    M include/qemu/throttle.h
    M include/qemu/timer.h
    M qapi/block-core.json
    M qemu-options.hx
    M qmp-commands.hx
    M tests/qemu-iotests/041
    M tests/qemu-iotests/124
    A tests/qemu-iotests/132
    A tests/qemu-iotests/132.out
    M tests/qemu-iotests/group
    M tests/qemu-iotests/iotests.py
    M tests/rtl8139-test.c
    M tests/test-throttle.c
    M tests/wdt_ib700-test.c
    M util/throttle.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into 
staging

# gpg: Signature made Thu Jul  2 10:10:39 2015 BST using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"

* remotes/stefanha/tags/block-pull-request:
  block: remove redundant check before g_slist_find()
  block/nfs: limit maximum readahead size to 1MB
  block/iscsi: restore compatiblity with libiscsi 1.9.0
  iotests: Use event_wait in wait_ready
  qemu-iotests: Add test case for mirror with unmap
  qemu-iotests: Make block job methods common
  block: Remove bdrv_reset_dirty
  block: Fix dirty bitmap in bdrv_co_discard
  mirror: Do zero write on target if sectors not allocated
  qmp: Add optional bool "unmap" to drive-mirror
  block: Add bdrv_get_block_status_above
  timer: Use a single definition of NSEC_PER_SEC for the whole codebase
  timer: Move NANOSECONDS_PER_SECONDS to timer.h
  blockdev: no need to drain+flush in hmp_drive_del
  qapi: Rename 'dirty-bitmap' mode to 'incremental'
  qcow2: Handle EAGAIN returned from update_refcount
  block/iscsi: add support for request timeouts

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


Compare: https://github.com/qemu/qemu/compare/d2966f804d70...6686ce3f1628

reply via email to

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