qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] b24776: commit: Fix error handling


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] b24776: commit: Fix error handling
Date: Wed, 08 Mar 2017 07:00:12 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b247767aacdc2cfba94050c901aec268be94cc2d
      
https://github.com/qemu/qemu/commit/b247767aacdc2cfba94050c901aec268be94cc2d
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/commit.c

  Log Message:
  -----------
  commit: Fix error handling

Apparently some kind of mismerge happened in commit 8dfba279, which
broke the error handling without any real reason by removing the
assignment of the return value to ret in a blk_insert_bs() call.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 7d9fcb391c7898fb1417d84eba41d3d48bd76605
      
https://github.com/qemu/qemu/commit/7d9fcb391c7898fb1417d84eba41d3d48bd76605
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  mirror: Fix permission problem with 'replaces'

The 'replaces' option of drive-mirror can be used to mirror a Quorum
node to a new image and then let the target image replace one of the
Quorum children. In order for this graph modification to succeed, the
mirror job needs to lift its restrictions on the target node first
before actually replacing the child.

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


  Commit: 0bf74767ff7f0ae23615162807961c5d7e73507c
      
https://github.com/qemu/qemu/commit/0bf74767ff7f0ae23615162807961c5d7e73507c
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  mirror: Fix permissions for removing mirror_top_bs

mirror_top_bs takes write permissions on its backing file, which can
make it impossible to attach that backing file node to another parent.
However, this is exactly what needs to be done in order to remove
mirror_top_bs from the backing chain. So give up the write permission
first.

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


  Commit: 88f9d1b3d2fa8df276b2f75dcbd7fb78ed08be20
      
https://github.com/qemu/qemu/commit/88f9d1b3d2fa8df276b2f75dcbd7fb78ed08be20
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  mirror: Fix error path for dirty bitmap creation

mirror_top_bs must be removed from the graph again when creating the
dirty bitmap fails.

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


  Commit: 067acf28d1d726059f994356f25e054ce2926acf
      
https://github.com/qemu/qemu/commit/067acf28d1d726059f994356f25e054ce2926acf
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  block: Fix blockdev-snapshot error handling

For blockdev-snapshot, external_snapshot_prepare() accepts an arbitrary
node reference at first and only checks later whether it already has a
backing file. Between those places, other errors can occur.

Therefore checking in external_snapshot_abort() whether state->new_bs
has a backing file is not sufficient to tell whether bdrv_append() was
already completed or not. Trying to undo the bdrv_append() when it
wasn't even executed is wrong.

Introduce a new boolean flag in the state to fix this.

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


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

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Factor out should_update_child()

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


  Commit: 8ee039951dea9a809e4745c42aebb4a7cec4bbbb
      
https://github.com/qemu/qemu/commit/8ee039951dea9a809e4745c42aebb4a7cec4bbbb
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Factor out bdrv_replace_child_noperm()

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


  Commit: 46181129eac9a56d9a948667282dd03d5015f096
      
https://github.com/qemu/qemu/commit/46181129eac9a56d9a948667282dd03d5015f096
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

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

  Log Message:
  -----------
  block: Ignore multiple children in bdrv_check_update_perm()

change_parent_backing_link() will need to update multiple BdrvChild
objects at once. Checking permissions reference by reference doesn't
work because permissions need to be consistent only with all parents
moved to the new child.

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


  Commit: 234ac1a9025bcfcc532449f72a97b3d4754d466c
      
https://github.com/qemu/qemu/commit/234ac1a9025bcfcc532449f72a97b3d4754d466c
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Handle permission errors in change_parent_backing_link()

Instead of just trying to change parents by parent over to reference @to
instead of @from, and abort()ing whenever the permissions don't allow
this, do proper permission checking beforehand and pass any error to the
callers.

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


  Commit: 5fe31c25cce3b09e989e40439667cd4961aba969
      
https://github.com/qemu/qemu/commit/5fe31c25cce3b09e989e40439667cd4961aba969
  Author: Kevin Wolf <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

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

  Log Message:
  -----------
  block: Fix error handling in bdrv_replace_in_backing_chain()

When adding an Error parameter, bdrv_replace_in_backing_chain() would
become nothing more than a wrapper around change_parent_backing_link().
So make the latter public, renamed as bdrv_replace_node(), and remove
bdrv_replace_in_backing_chain().

Most of the callers just remove a node from the graph that they just
inserted, so they can use &error_abort, but completion of a mirror job
with 'replaces' set can actually fail.

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


  Commit: cbc488ee2aaad06e7ef69936788e0dbd204cf0a0
      
https://github.com/qemu/qemu/commit/cbc488ee2aaad06e7ef69936788e0dbd204cf0a0
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Defuse time bomb in sd_open() error handling

When qemu_opts_absorb_qdict() fails, sd_open() closes stdin, because
sd->fd is still zero.  Fortunately, qemu_opts_absorb_qdict() can't
fail, because:

1. it only fails when qemu_opt_parse() fails, and
2. the only member of runtime_opts.desc[] is a QEMU_OPT_STRING, and
3. qemu_opt_parse() can't fail for QEMU_OPT_STRING.

Defuse this ticking time bomb by jumping behind the file descriptor
cleanup on error.

Also do that for the error paths where sd->fd is still -1.  The file
descriptor cleanup happens to do nothing then, but let's not rely on
that here.

While there, rename label out to err, because it's on the error path,
not the normal path out of the function.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e25cad6921ef78c8e2b7a4f59b03545bd675a9ad
      
https://github.com/qemu/qemu/commit/e25cad6921ef78c8e2b7a4f59b03545bd675a9ad
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Fix error handling in sd_snapshot_delete()

As a bdrv_snapshot_delete() method, sd_snapshot_delete() must set an
error and return negative errno on failure.  It sometimes returns -1,
and sometimes neglects to set an error.  It also prints error messages
with error_report().  Fix all that.

Moreover, its handling of an attempt to delete a nonexistent snapshot
is wrong: it error_report()s and succeeds.  Fix it to set an error and
return -ENOENT instead.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 48d7c4af06393b974b0a515ac9d1cc7346dbae23
      
https://github.com/qemu/qemu/commit/48d7c4af06393b974b0a515ac9d1cc7346dbae23
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Fix error handling sd_create()

As a bdrv_create() method, sd_create() must set an error and return
negative errno on failure.  It prints the error instead of setting it
when connect_to_sdog() fails.  Fix that.

While there, return the value of connect_to_sdog() like we do
elsewhere, instead of -EIO.  No functional change, as
connect_to_sdog() returns no other error code.

Many more suspicious uses of error_report() and error_report_err()
remain in other functions.  Left for another day.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: a0dc0e2bfe543404c07258b2a2c4f9d53c0430b1
      
https://github.com/qemu/qemu/commit/a0dc0e2bfe543404c07258b2a2c4f9d53c0430b1
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Mark sd_snapshot_delete() lossage FIXME

sd_snapshot_delete() should delete the snapshot whose ID matches
@snapshot_id and whose name matches @name.  But that's not what it
does.  If @snapshot_id is a valid ID, it deletes the snapshot with
that ID, else it deletes the snapshot with that name.  It doesn't use
@name at all.  Add suitable FIXME comments, so someone who actually
knows Sheepdog can fix it.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 89e2a31d337f96ab8d5b7bdfe4bcce0a25181ed1
      
https://github.com/qemu/qemu/commit/89e2a31d337f96ab8d5b7bdfe4bcce0a25181ed1
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Fix snapshot ID parsing in _open(), _create, _goto()

sd_parse_uri() and sd_snapshot_goto() screw up error checking after
strtoul(), and truncate long tag names silently.  Fix by replacing
those parts by new sd_parse_snapid_or_tag(), which checks more
carefully.

sd_snapshot_delete() also parses snapshot IDs, but is currently too
broken for me to touch.  Mark TODO.

Two calls of strtol() without error checking remain in
parse_redundancy().  Mark them FIXME.

More silent truncation of configuration strings remains elsewhere.
Not marked.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: daa0b0d4b17d25d7d46326bac8efa449300e3711
      
https://github.com/qemu/qemu/commit/daa0b0d4b17d25d7d46326bac8efa449300e3711
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Don't truncate long VDI name in _open(), _create()

sd_parse_uri() truncates long VDI names silently.  Reject them
instead.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 36bcac16fdd6ecb75314db06171f54dcd400ab8c
      
https://github.com/qemu/qemu/commit/36bcac16fdd6ecb75314db06171f54dcd400ab8c
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Report errors in pseudo-filename more usefully

Errors in the pseudo-filename are all reported with the same laconic
"Can't parse filename" message.

Add real error reporting, such as:

    $ qemu-system-x86_64 --drive driver=sheepdog,filename=sheepdog:///
    qemu-system-x86_64: --drive driver=sheepdog,filename=sheepdog:///: missing 
file path in URI
    $ qemu-system-x86_64 --drive driver=sheepdog,filename=sheepgod:///vdi
    qemu-system-x86_64: --drive driver=sheepdog,filename=sheepgod:///vdi: URI 
scheme must be 'sheepdog', 'sheepdog+tcp', or 'sheepdog+unix'
    $ qemu-system-x86_64 --drive 
driver=sheepdog,filename=sheepdog+unix:///vdi?socke=sheepdog.sock
    qemu-system-x86_64: --drive 
driver=sheepdog,filename=sheepdog+unix:///vdi?socke=sheepdog.sock: unexpected 
query parameters

The code to translate legacy syntax to URI fails to escape URI
meta-characters.  The new error messages are misleading then.  Replace
them by the old "Can't parse filename" message.  "Internal error"
would be more honest.  Anyway, no worse than before.  Also add a FIXME
comment.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8ecc2f9eab17e203e8a64726b7806a9442b451c0
      
https://github.com/qemu/qemu/commit/8ecc2f9eab17e203e8a64726b7806a9442b451c0
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Use SocketAddress and socket_connect()

sd_parse_uri() builds a string from host and port parts for
inet_connect().  inet_connect() parses it into host, port and options.
Whether this gets exactly the same host, port and no options for all
inputs is not obvious.

Cut out the string middleman and build a SocketAddress for
socket_connect() instead.

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


  Commit: 831acdc95e9c0faaf0bd0ced50f168afd7ad92ac
      
https://github.com/qemu/qemu/commit/831acdc95e9c0faaf0bd0ced50f168afd7ad92ac
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/sheepdog.c

  Log Message:
  -----------
  sheepdog: Implement bdrv_parse_filename()

This permits configuration with driver-specific options in addition to
pseudo-filename parsed as URI.  For instance,

    --drive driver=sheepdog,host=fido,vdi=dolly

instead of

    --drive driver=sheepdog,file=sheepdog://fido/dolly

It's also a first step towards supporting blockdev-add.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: fc29458dee2b4206eba90ed210342105e1556fd0
      
https://github.com/qemu/qemu/commit/fc29458dee2b4206eba90ed210342105e1556fd0
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/gluster.c

  Log Message:
  -----------
  gluster: Drop assumptions on SocketTransport names

qemu_gluster_glfs_init() passes the names of QAPI enumeration type
SocketTransport to glfs_set_volfile_server().  Works, because they
were chosen to match.  But the coupling is artificial.  Use the
appropriate literal strings instead.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Niels de Vos <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: e152ef7a98c584e8d5de88d7a5294ab6a8e7059f
      
https://github.com/qemu/qemu/commit/e152ef7a98c584e8d5de88d7a5294ab6a8e7059f
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/gluster.c

  Log Message:
  -----------
  gluster: Don't duplicate qapi-util.c's qapi_enum_parse()

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Niels de Vos <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 85a82e852d01c2cd26d3126c5900a5bd1c464609
      
https://github.com/qemu/qemu/commit/85a82e852d01c2cd26d3126c5900a5bd1c464609
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/gluster.c

  Log Message:
  -----------
  gluster: Plug memory leaks in qemu_gluster_parse_json()

To reproduce, run

    $ valgrind qemu-system-x86_64 --nodefaults -S --drive 
driver=gluster,volume=testvol,path=/a/b/c,server.0.type=xxx

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Niels de Vos <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 2b733709d7a29273406d341f60efe3b5d69ea362
      
https://github.com/qemu/qemu/commit/2b733709d7a29273406d341f60efe3b5d69ea362
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/gluster.c
    M qapi-schema.json
    M qapi/block-core.json

  Log Message:
  -----------
  qapi-schema: Rename GlusterServer to SocketAddressFlat

As its documentation says, it's not specific to Gluster.  Rename it,
as I'm going to use it for something else.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: c5f1ae3ae7b19591c78a61e46cf812b0b968fef0
      
https://github.com/qemu/qemu/commit/c5f1ae3ae7b19591c78a61e46cf812b0b968fef0
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/gluster.c
    M qapi-schema.json

  Log Message:
  -----------
  qapi-schema: Rename SocketAddressFlat's variant tcp to inet

QAPI type SocketAddressFlat differs from SocketAddress pointlessly:
the discriminator value for variant InetSocketAddress is 'tcp' instead
of 'inet'.  Rename.

The type is so far only used by the Gluster block drivers.  Take care
to keep 'tcp' working in things like -drive's file.server.0.type=tcp.
The "gluster+tcp" URI scheme in pseudo-filenames stays the same.
blockdev-add changes, but it has changed incompatibly since 2.8
already.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d282f34e82bf8f243dd1f7103963fec1d4129672
      
https://github.com/qemu/qemu/commit/d282f34e82bf8f243dd1f7103963fec1d4129672
  Author: Markus Armbruster <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M qapi/block-core.json

  Log Message:
  -----------
  sheepdog: Support blockdev-add

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 50bfbe93b2ca0ab795f3de305bec5ab1df620be4
      
https://github.com/qemu/qemu/commit/50bfbe93b2ca0ab795f3de305bec5ab1df620be4
  Author: Fam Zheng <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/block-backend.c

  Log Message:
  -----------
  block: Don't use error_abort in blk_new_open

We have an errp and bdrv_root_attach_child can fail permission check,
error_abort is not the best choice here.

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


  Commit: b69f00dde490e88d55f5ee731545e690b2dc61f8
      
https://github.com/qemu/qemu/commit/b69f00dde490e88d55f5ee731545e690b2dc61f8
  Author: Fam Zheng <address@hidden>
  Date:   2017-03-07 (Tue, 07 Mar 2017)

  Changed paths:
    M block/commit.c

  Log Message:
  -----------
  commit: Don't use error_abort in commit_start

bdrv_set_backing_hd failure needn't be abort. Since we already have
error parameter, use it.

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


  Commit: b64842dee42d6b24d51283e4722140b73be1e222
      
https://github.com/qemu/qemu/commit/b64842dee42d6b24d51283e4722140b73be1e222
  Author: Peter Maydell <address@hidden>
  Date:   2017-03-08 (Wed, 08 Mar 2017)

  Changed paths:
    M block.c
    M block/block-backend.c
    M block/commit.c
    M block/gluster.c
    M block/mirror.c
    M block/sheepdog.c
    M blockdev.c
    M include/block/block.h
    M include/block/block_int.h
    M qapi-schema.json
    M qapi/block-core.json

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

Block layer fixes for 2.9.0-rc0

# gpg: Signature made Tue 07 Mar 2017 14:59:18 GMT
# gpg:                using RSA key 0x7F09B272C88F2FD6
# 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: (27 commits)
  commit: Don't use error_abort in commit_start
  block: Don't use error_abort in blk_new_open
  sheepdog: Support blockdev-add
  qapi-schema: Rename SocketAddressFlat's variant tcp to inet
  qapi-schema: Rename GlusterServer to SocketAddressFlat
  gluster: Plug memory leaks in qemu_gluster_parse_json()
  gluster: Don't duplicate qapi-util.c's qapi_enum_parse()
  gluster: Drop assumptions on SocketTransport names
  sheepdog: Implement bdrv_parse_filename()
  sheepdog: Use SocketAddress and socket_connect()
  sheepdog: Report errors in pseudo-filename more usefully
  sheepdog: Don't truncate long VDI name in _open(), _create()
  sheepdog: Fix snapshot ID parsing in _open(), _create, _goto()
  sheepdog: Mark sd_snapshot_delete() lossage FIXME
  sheepdog: Fix error handling sd_create()
  sheepdog: Fix error handling in sd_snapshot_delete()
  sheepdog: Defuse time bomb in sd_open() error handling
  block: Fix error handling in bdrv_replace_in_backing_chain()
  block: Handle permission errors in change_parent_backing_link()
  block: Ignore multiple children in bdrv_check_update_perm()
  ...

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


Compare: https://github.com/qemu/qemu/compare/87467097f881...b64842dee42d

reply via email to

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