qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 293c51: blockdev: reset werror/rerror on driv


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 293c51: blockdev: reset werror/rerror on drive_del
Date: Fri, 07 Jun 2013 07:30:11 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 293c51a6ee369228633a8428ab689f14c045ff98
      
https://github.com/qemu/qemu/commit/293c51a6ee369228633a8428ab689f14c045ff98
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2013-06-05 (Wed, 05 Jun 2013)

  Changed paths:
    M blockdev.c
    M hmp-commands.hx

  Log Message:
  -----------
  blockdev: reset werror/rerror on drive_del

Paolo Bonzini <address@hidden> suggested the following test case:

1. Launch a guest and wait at the GRUB boot menu:

  qemu-system-x86_64 -enable-kvm -m 1024 \
   -drive if=none,cache=none,file=test.img,id=foo,werror=stop,rerror=stop
   -device virtio-blk-pci,drive=foo,id=virtio0,addr=4

2. Hot unplug the device:

  (qemu) drive_del foo

3. Select the first boot menu entry

Without this patch the guest pauses due to ENOMEDIUM.  The guest is
stuck in a continuous pause loop since the I/O request is retried and
fails immediately again when the guest is resumed.

With this patch the error is reported to the guest.

Note that this scenario actually happens sometimes during libvirt disk
hot unplug, where device_del is followed by drive_del.  I/O may still be
submitted to the drive after drive_del if the guest does not process the
PCI hot unplug notification.

Reported-by: Dafna Ron <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>


  Commit: 8312976e73fce9689ab831c1da565ec413680cff
      
https://github.com/qemu/qemu/commit/8312976e73fce9689ab831c1da565ec413680cff
  Author: Cornelia Huck <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M hw/s390x/css.c

  Log Message:
  -----------
  s390x/css: Fix concurrent sense.

Fix an off-by-one error when indicating availablity of concurrent
sense data.

Cc: address@hidden
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: d1db1fa8dfcea9c62643f624f2a07d2fd375ce45
      
https://github.com/qemu/qemu/commit/d1db1fa8dfcea9c62643f624f2a07d2fd375ce45
  Author: Cornelia Huck <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

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

  Log Message:
  -----------
  virtio-ccw: Fix unsetting of indicators.

Interpretation of the ccws to register (configuration) indicators contained
a thinko: We want to disallow reading from 0, but setting the indicator
pointer to 0 is fine.

Let's fix the handling for CCW_CMD_SET{,_CONF}_IND.

Cc: address@hidden
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: a23818f4ff3d7981f49453b739f589e4205930b5
      
https://github.com/qemu/qemu/commit/a23818f4ff3d7981f49453b739f589e4205930b5
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M cmd.h
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Remove unused args_command

The original intention seems to be something with handling multiple
images at once, but this has never been implemented and the only
function ever registered is implemented to make everything behave like a
"global" command. Just do that unconditionally now.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 5e00984aef7c1c317e27c0e8acf66526513c770f
      
https://github.com/qemu/qemu/commit/5e00984aef7c1c317e27c0e8acf66526513c770f
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M include/qemu-common.h
    M monitor.c
    M qemu-img.c
    M tests/qemu-iotests/049.out
    M util/cutils.c

  Log Message:
  -----------
  cutils: Support 'P' and 'E' suffixes in strtosz()

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b6e356aa25c81d928e1c463292048d29cf25f04e
      
https://github.com/qemu/qemu/commit/b6e356aa25c81d928e1c463292048d29cf25f04e
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M cmd.h
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Make cvtnum() a wrapper around strtosz_suffix()

No reason to implement the same thing multiple times. A nice side effect
is that fractional numbers like 0.5M can be used in qemu-io now.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: cf49a6a00c19cabf4006d4f82bef26345043e7b5
      
https://github.com/qemu/qemu/commit/cf49a6a00c19cabf4006d4f82bef26345043e7b5
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Handle cvtnum() errors in 'alloc'

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 734c3b85cb72d264ad2b38a87f30304e05de2cb1
      
https://github.com/qemu/qemu/commit/734c3b85cb72d264ad2b38a87f30304e05de2cb1
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M cmd.h
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Don't use global bs in command implementations

Pass in the BlockDriverState to the command handlers instead of using
the global variable. This is an important step to make the commands
usable outside of qemu-io.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 797ac58cb2093ab9192d8998a1fef85d87cc8661
      
https://github.com/qemu/qemu/commit/797ac58cb2093ab9192d8998a1fef85d87cc8661
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M Makefile
    A qemu-io-cmds.c
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Split off commands to qemu-io-cmds.c

This is the implementation of all qemu-io commands that make sense to be
called from the qemu monitor, i.e. everything except open, close and
quit.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: dd5832967ac3fe96bd5bf9f199639176998ead69
      
https://github.com/qemu/qemu/commit/dd5832967ac3fe96bd5bf9f199639176998ead69
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M cmd.h
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: Factor out qemuio_command

It's duplicated code. Move it to qemu-io-cmds.c because it's not
dependent on any static data of the qemu-io tool.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: f18a834a92f0b490cefeb71410f3f25b969d336f
      
https://github.com/qemu/qemu/commit/f18a834a92f0b490cefeb71410f3f25b969d336f
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M cmd.h
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: Move 'help' function

No reason to treat it different from other commands. Move it to
qemu-io-cmds.c, adapt the coding style and register it like any other
command.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e681be7eca0143fe7259ce8233fe5dd8898d072f
      
https://github.com/qemu/qemu/commit/e681be7eca0143fe7259ce8233fe5dd8898d072f
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M cmd.h
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Move 'quit' function

This one only makes sense in the context of the qemu-io tool, so move it
to qemu-io.c. Adapt coding style and register it like other commands.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: a38ed811474e953371f848233208c2026c2d1195
      
https://github.com/qemu/qemu/commit/a38ed811474e953371f848233208c2026c2d1195
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M include/qemu-common.h
    M util/cutils.c

  Log Message:
  -----------
  qemu-io: Move qemu_strsep() to cutils.c

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: c2cdf5c5892165cbe7d3567bff5930521bc52669
      
https://github.com/qemu/qemu/commit/c2cdf5c5892165cbe7d3567bff5930521bc52669
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M cmd.h
    M qemu-io-cmds.c
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Move functions for registering and running commands

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: d1174f13e78e2f43f7ae33d59b62b0b94468c8db
      
https://github.com/qemu/qemu/commit/d1174f13e78e2f43f7ae33d59b62b0b94468c8db
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M cmd.c
    M cmd.h
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Move command_loop() and friends

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


  Commit: 0b613881ae8fc59359b3d91e666fea6c9b1e731b
      
https://github.com/qemu/qemu/commit/0b613881ae8fc59359b3d91e666fea6c9b1e731b
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M Makefile
    R cmd.c
    M cmd.h
    M qemu-io-cmds.c

  Log Message:
  -----------
  qemu-io: Move remaining helpers from cmd.c

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


  Commit: 3d21994f9c511cb63220fef5abea164b83fbb997
      
https://github.com/qemu/qemu/commit/3d21994f9c511cb63220fef5abea164b83fbb997
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    R cmd.h
    A include/qemu-io.h
    M qemu-io-cmds.c
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Interface cleanup

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


  Commit: 02da386a2d7a020e80b0aed64769efa9dd42072a
      
https://github.com/qemu/qemu/commit/02da386a2d7a020e80b0aed64769efa9dd42072a
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M qemu-io.c

  Log Message:
  -----------
  qemu-io: Use the qemu version for -V

Always printing 0.0.1 and never updating the version number wasn't very
useful. qemu-io is released with qemu, so using the same version number
makes most sense.

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


  Commit: 587da2c39c9ace168f4d01fa446a54ae998a2553
      
https://github.com/qemu/qemu/commit/587da2c39c9ace168f4d01fa446a54ae998a2553
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M Makefile
    M Makefile.objs
    M hmp-commands.hx
    M hmp.c
    M hmp.h

  Log Message:
  -----------
  Make qemu-io commands available in HMP

It was decided to not make this command available in QMP in order to
make clear that this is not supposed to be a stable API and should be
used only for testing and debugging purposes.

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


  Commit: bf736fe34caba0688c9095c31b9d097ea15c1296
      
https://github.com/qemu/qemu/commit/bf736fe34caba0688c9095c31b9d097ea15c1296
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

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

  Log Message:
  -----------
  blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events

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


  Commit: c27d565604038c1572b16dd1cd06e277e6ef02e2
      
https://github.com/qemu/qemu/commit/c27d565604038c1572b16dd1cd06e277e6ef02e2
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M tests/ide-test.c

  Log Message:
  -----------
  ide-test: Add enum value for DEV

Get rid of the magic number.

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


  Commit: f68ec8379e88502b4841a110c070e9b118d3151c
      
https://github.com/qemu/qemu/commit/f68ec8379e88502b4841a110c070e9b118d3151c
  Author: Andreas Färber <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  ide: Set BSY bit during FLUSH

The implementation of the ATA FLUSH command invokes a flush at the block
layer, which may on raw files on POSIX entail a synchronous fdatasync().
This may in some cases take so long that the SLES 11 SP1 guest driver
reports I/O errors and filesystems get corrupted or remounted read-only.

Avoid this by setting BUSY_STAT, so that the guest is made aware we are
in the middle of an operation and no ATA commands are attempted to be
processed concurrently.

Addresses BNC#637297.

Suggested-by: Gonglei (Arei) <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3
      
https://github.com/qemu/qemu/commit/bd07684aacfb61668ae2c25b7dd00b64f3d7c7f3
  Author: Kevin Wolf <address@hidden>
  Date:   2013-06-06 (Thu, 06 Jun 2013)

  Changed paths:
    M tests/ide-test.c

  Log Message:
  -----------
  ide-test: Add FLUSH CACHE test case

This checks in particular that BSY is set while the flush request is in
flight.

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


  Commit: fb0ed4539c6f02fa9e5a3cf9df2549713451eeca
      
https://github.com/qemu/qemu/commit/fb0ed4539c6f02fa9e5a3cf9df2549713451eeca
  Author: Wenchao Xia <address@hidden>
  Date:   2013-06-07 (Fri, 07 Jun 2013)

  Changed paths:
    M block/qapi.c
    M include/block/qapi.h
    M qemu-img.c

  Log Message:
  -----------
  block: add snapshot info query function bdrv_query_snapshot_info_list()

This patch adds function bdrv_query_snapshot_info_list(), which will
retrieve snapshot info of an image in qmp object format. The implementation
is based on the code moved from qemu-img.c with modification to fit more
for qmp based block layer API.

Signed-off-by: Wenchao Xia <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 43526ec8d1395fe4efbed15e9764b64641b95bcc
      
https://github.com/qemu/qemu/commit/43526ec8d1395fe4efbed15e9764b64641b95bcc
  Author: Wenchao Xia <address@hidden>
  Date:   2013-06-07 (Fri, 07 Jun 2013)

  Changed paths:
    M block/qapi.c
    M include/block/qapi.h
    M qemu-img.c

  Log Message:
  -----------
  block: add image info query function bdrv_query_image_info()

This patch adds function bdrv_query_image_info(), which will
retrieve image info in qmp object format. The implementation is
based on the code moved from qemu-img.c, but uses block layer
function to get snapshot info.

Signed-off-by: Wenchao Xia <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 553a7e871822d933beaefbd596f0e4eed1614373
      
https://github.com/qemu/qemu/commit/553a7e871822d933beaefbd596f0e4eed1614373
  Author: Wenchao Xia <address@hidden>
  Date:   2013-06-07 (Fri, 07 Jun 2013)

  Changed paths:
    M block/qapi.c
    M include/block/qapi.h
    M qapi-schema.json
    M qmp-commands.hx

  Log Message:
  -----------
  qmp: add ImageInfo in BlockDeviceInfo used by query-block

Now image info will be retrieved as an embbed json object inside
BlockDeviceInfo, backing chain info and all related internal snapshot
info can be got in the enhanced recursive structure of ImageInfo. New
recursive member *backing-image is added to reflect the backing chain
status.

Signed-off-by: Wenchao Xia <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: bd093a365e8d1437f437a48ddca3ed08283b3090
      
https://github.com/qemu/qemu/commit/bd093a365e8d1437f437a48ddca3ed08283b3090
  Author: Wenchao Xia <address@hidden>
  Date:   2013-06-07 (Fri, 07 Jun 2013)

  Changed paths:
    M hmp.c

  Log Message:
  -----------
  hmp: show ImageInfo in 'info block'

Now human monitor can show image details, include internal
snapshot and backing chain info for every block device.

Signed-off-by: Wenchao Xia <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e73fe2b46c38776288415ce7bc8ba3fcd23721c4
      
https://github.com/qemu/qemu/commit/e73fe2b46c38776288415ce7bc8ba3fcd23721c4
  Author: Wenchao Xia <address@hidden>
  Date:   2013-06-07 (Fri, 07 Jun 2013)

  Changed paths:
    M hmp.c
    M monitor.c

  Log Message:
  -----------
  hmp: add parameters device and -v for info block

With these parameters, user can choose the information to be showed,
to avoid message flood in the monitor.

Signed-off-by: Wenchao Xia <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b8a75b6093309a43f9837bc2ce63bcf15a7b305f
      
https://github.com/qemu/qemu/commit/b8a75b6093309a43f9837bc2ce63bcf15a7b305f
  Author: Anthony Liguori <address@hidden>
  Date:   2013-06-07 (Fri, 07 Jun 2013)

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

  Log Message:
  -----------
  Merge remote-tracking branch 'cohuck/virtio-ccw-upstr' into staging

# By Cornelia Huck
# Via Cornelia Huck
* cohuck/virtio-ccw-upstr:
  virtio-ccw: Fix unsetting of indicators.
  s390x/css: Fix concurrent sense.

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


  Commit: 7387de16d0e4d2988df350926537cd12a8e34206
      
https://github.com/qemu/qemu/commit/7387de16d0e4d2988df350926537cd12a8e34206
  Author: Anthony Liguori <address@hidden>
  Date:   2013-06-07 (Fri, 07 Jun 2013)

  Changed paths:
    M Makefile
    M Makefile.objs
    M block.c
    M block/blkdebug.c
    M block/qapi.c
    M blockdev.c
    R cmd.c
    R cmd.h
    M hmp-commands.hx
    M hmp.c
    M hmp.h
    M hw/ide/core.c
    M include/block/block.h
    M include/block/qapi.h
    M include/qemu-common.h
    A include/qemu-io.h
    M monitor.c
    M qapi-schema.json
    M qemu-img.c
    A qemu-io-cmds.c
    M qemu-io.c
    M qmp-commands.hx
    M tests/ide-test.c
    M tests/qemu-iotests/049.out
    M util/cutils.c

  Log Message:
  -----------
  Merge remote-tracking branch 'stefanha/block' into staging

# By Kevin Wolf (19) and others
# Via Stefan Hajnoczi
* stefanha/block: (26 commits)
  hmp: add parameters device and -v for info block
  hmp: show ImageInfo in 'info block'
  qmp: add ImageInfo in BlockDeviceInfo used by query-block
  block: add image info query function bdrv_query_image_info()
  block: add snapshot info query function bdrv_query_snapshot_info_list()
  ide-test: Add FLUSH CACHE test case
  ide: Set BSY bit during FLUSH
  ide-test: Add enum value for DEV
  blkdebug: Add BLKDBG_FLUSH_TO_OS/DISK events
  Make qemu-io commands available in HMP
  qemu-io: Use the qemu version for -V
  qemu-io: Interface cleanup
  qemu-io: Move remaining helpers from cmd.c
  qemu-io: Move command_loop() and friends
  qemu-io: Move functions for registering and running commands
  qemu-io: Move qemu_strsep() to cutils.c
  qemu-io: Move 'quit' function
  qemu-io: Move 'help' function
  qemu-io: Factor out qemuio_command
  qemu-io: Split off commands to qemu-io-cmds.c
  ...

Message-id: address@hidden
Signed-off-by: Anthony Liguori <address@hidden>


Compare: https://github.com/qemu/qemu/compare/8819c10b5d55...7387de16d0e4

reply via email to

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