qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 3e4d88: gluster: Fix blockdev-add with server


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 3e4d88: gluster: Fix blockdev-add with server.N.type=unix
Date: Wed, 04 Apr 2018 07:40:38 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 3e4d88eabfd6ccceb49885cc026c2778b6d5b7d2
      
https://github.com/qemu/qemu/commit/3e4d88eabfd6ccceb49885cc026c2778b6d5b7d2
  Author: Kevin Wolf <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M block/gluster.c

  Log Message:
  -----------
  gluster: Fix blockdev-add with server.N.type=unix

The legacy command line interface gets the socket path from an option
called 'socket'. QAPI in contract uses SocketAddress, where the
corresponding option is called 'path'.

Fix the gluster block driver to accept both 'socket' and 'path', with
'path' being the preferred syntax.

https://bugzilla.redhat.com/show_bug.cgi?id=1545155

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


  Commit: a03083a0170d86ee1baa73476a48e715af665ddb
      
https://github.com/qemu/qemu/commit/a03083a0170d86ee1baa73476a48e715af665ddb
  Author: Jeff Cody <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  block: handle invalid lseek returns gracefully

In commit 223a23c198787328ae75bc65d84edf5fde33c0b6, we implemented a
workaround in the gluster driver to handle invalid values returned for
SEEK_DATA or SEEK_HOLE.

In some instances, these same invalid values can be seen in the posix
file handler as well - for example, it has been reported on FUSE gluster
mounts.

Calling assert() for these invalid values is overly harsh; we can safely
return -EIO and allow this case to be treated as a "learned nothing"
case (e.g., D4 / H4, as commented in the code).

This patch does the same thing that 223a23c198787 did for gluster.c,
except in file-posix.c

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 242c172132d6b75e3c7c31435392e1cdf241d080
      
https://github.com/qemu/qemu/commit/242c172132d6b75e3c7c31435392e1cdf241d080
  Author: Alberto Garcia <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M tests/qemu-iotests/051.pc.out
    M tests/qemu-iotests/186
    M tests/qemu-iotests/186.out

  Log Message:
  -----------
  iotests: Update 051 and 186 after commit 1454509726719e0933c

SCSI controllers are no longer created automatically for
-drive if=scsi, so this patch updates the tests that relied
on that.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Cc: Thomas Huth <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 627f607e3dddb23cef69374c8bfb09a33d19926a
      
https://github.com/qemu/qemu/commit/627f607e3dddb23cef69374c8bfb09a33d19926a
  Author: Alberto Garcia <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M tests/qemu-iotests/186
    M tests/qemu-iotests/186.out
    M tests/qemu-iotests/common.filter

  Log Message:
  -----------
  iotests: Update 186 after commit ac64273c66ab136c44043259162

Commit ac64273c66ab136c44 modified the output of iotest 186, changing
the QOM path of floppy drives from /machine/unattached/device[17] to
/machine/unattached/device[13].

Instead of updating the test output to reflect this change, this patch
adds a new filter that hides all QOM paths from the 'Attached to:'
line of the 'info block' command.

Signed-off-by: Alberto Garcia <address@hidden>
Cc: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: eb42e7193e74a8e51603d0190340d4983eb58002
      
https://github.com/qemu/qemu/commit/eb42e7193e74a8e51603d0190340d4983eb58002
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M tests/qemu-iotests/208

  Log Message:
  -----------
  iotests: fix 208 for luks format

Support luks images creatins like in 205

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


  Commit: 82b45e0a0b824787bd79ce3f6453eaa2afddd138
      
https://github.com/qemu/qemu/commit/82b45e0a0b824787bd79ce3f6453eaa2afddd138
  Author: Max Reitz <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  block/file-posix: Fix fully preallocated truncate

Storing the lseek() result in an int results in it overflowing when the
file is at least 2 GB big.  Then, we have a 50 % chance of the result
being "negative" and thus thinking an error occurred when actually
everything went just fine.

So we should use the correct type for storing the result: off_t.

Reported-by: Daniel P. Berrange <address@hidden>
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1549231
Cc: address@hidden
Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 733d1dce0f3c8ab7b79a173f6482781d3718f844
      
https://github.com/qemu/qemu/commit/733d1dce0f3c8ab7b79a173f6482781d3718f844
  Author: Max Reitz <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M tests/qemu-iotests/106
    M tests/qemu-iotests/106.out

  Log Message:
  -----------
  iotests: Test preallocated truncate of 2G image

Signed-off-by: Max Reitz <address@hidden>
Message-id: address@hidden
Reviewed-by: Daniel P. Berrangé <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 96914159b7c4f9cd574301517c15b0743a050f95
      
https://github.com/qemu/qemu/commit/96914159b7c4f9cd574301517c15b0743a050f95
  Author: Lukáš Doktor <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.config

  Log Message:
  -----------
  qemu-iotests: Use ppc64 qemu_arch on ppc64le host

The qemu target does not always correspond to the host machine type. For
example ppc64le machine target is ppc64. Let's introduce "qemu_arch"
variable to store the matching qemu architecture related to the current
architecture and use it when auto-detecting the default qemu binary.

Signed-off-by: Lukáš Doktor <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: abd3622cc03cf41ed542126a540385f30a4c0175
      
https://github.com/qemu/qemu/commit/abd3622cc03cf41ed542126a540385f30a4c0175
  Author: Alberto Garcia <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M tests/qemu-iotests/122
    M tests/qemu-iotests/122.out

  Log Message:
  -----------
  iotests: Test abnormally large size in compressed cluster descriptor

L2 entries for compressed clusters have a field that indicates the
number of sectors used to store the data in the image.

That's however not the size of the compressed data itself, just the
number of sectors where that data is located. The actual data size is
usually not a multiple of the sector size, and therefore cannot be
represented with this field.

The way it works is that QEMU reads all the specified sectors and
starts decompressing the data until there's enough to recover the
original uncompressed cluster. If there are any bytes left that
haven't been decompressed they are simply ignored.

One consequence of this is that even if the size field is larger than
it needs to be QEMU can handle it just fine: it will read more data
from disk but it will ignore the extra bytes.

This test creates an image with two compressed clusters that use 5
sectors (2.5 KB) each, increases the size field to the maximum (8192
sectors, or 4 MB) and verifies that the data can be read without
problems.

This test is important because while the decompressed data takes
exactly one cluster, the maximum value allowed in the compressed size
field is twice the cluster size. So although QEMU won't produce images
with such large values we need to make sure that it can handle them.

Another effect of increasing the size field is that it can make
it include data from the following host cluster(s). In this case
'qemu-img check' will detect that the refcounts are not correct, and
we'll need to rebuild them.

Additionally, this patch also tests that decreasing the size corrupts
the image since the original data can no longer be recovered. In this
case QEMU returns an error when trying to read the compressed data,
but 'qemu-img check' doesn't see anything wrong if the refcounts are
consistent.

One possible task for the future is to make 'qemu-img check' verify
the sizes of the compressed clusters, by trying to decompress the data
and checking that the size stored in the L2 entry is correct.

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 9c1386d3ff76c5983529884e3d8420df958c5a29
      
https://github.com/qemu/qemu/commit/9c1386d3ff76c5983529884e3d8420df958c5a29
  Author: Kevin Wolf <address@hidden>
  Date:   2018-04-03 (Tue, 03 Apr 2018)

  Changed paths:
    M block/file-posix.c
    M tests/qemu-iotests/106
    M tests/qemu-iotests/106.out
    M tests/qemu-iotests/122
    M tests/qemu-iotests/122.out
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.config

  Log Message:
  -----------
  Merge remote-tracking branch 'mreitz/tags/pull-block-2018-04-03' into 
queue-block

A fix for preallocated truncation, a new iotest, and a fix to make the iotests 
work more comfortably on ppc64

# gpg: Signature made Tue Apr  3 17:40:57 2018 CEST
# gpg:                using RSA key F407DB0061D5CF40
# gpg: Good signature from "Max Reitz <address@hidden>"
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40

* mreitz/tags/pull-block-2018-04-03:
  iotests: Test abnormally large size in compressed cluster descriptor
  qemu-iotests: Use ppc64 qemu_arch on ppc64le host
  iotests: Test preallocated truncate of 2G image
  block/file-posix: Fix fully preallocated truncate

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


  Commit: fd69ad866b62ca8ed4337ffee83b6d82a4e99282
      
https://github.com/qemu/qemu/commit/fd69ad866b62ca8ed4337ffee83b6d82a4e99282
  Author: Peter Maydell <address@hidden>
  Date:   2018-04-04 (Wed, 04 Apr 2018)

  Changed paths:
    M block/file-posix.c
    M tests/qemu-iotests/051.pc.out
    M tests/qemu-iotests/106
    M tests/qemu-iotests/106.out
    M tests/qemu-iotests/122
    M tests/qemu-iotests/122.out
    M tests/qemu-iotests/186
    M tests/qemu-iotests/186.out
    M tests/qemu-iotests/208
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.config
    M tests/qemu-iotests/common.filter

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

Block layer patches

# gpg: Signature made Tue 03 Apr 2018 16:48:53 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:
  iotests: Test abnormally large size in compressed cluster descriptor
  qemu-iotests: Use ppc64 qemu_arch on ppc64le host
  iotests: Test preallocated truncate of 2G image
  block/file-posix: Fix fully preallocated truncate
  iotests: fix 208 for luks format
  iotests: Update 186 after commit ac64273c66ab136c44043259162
  iotests: Update 051 and 186 after commit 1454509726719e0933c
  block: handle invalid lseek returns gracefully
  gluster: Fix blockdev-add with server.N.type=unix

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


Compare: https://github.com/qemu/qemu/compare/e5efa1f5f2d3...fd69ad866b62

reply via email to

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