qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 4b7c5b: vvfat: set status to odd fixes


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 4b7c5b: vvfat: set status to odd fixes
Date: Sat, 18 Jul 2020 09:30:28 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4b7c5bc447070bd1573bc8ae7294f3a64525c20b
      
https://github.com/qemu/qemu/commit/4b7c5bc447070bd1573bc8ae7294f3a64525c20b
  Author: Prasad J Pandit <pjp@fedoraproject.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  vvfat: set status to odd fixes

Virtual VFAT driver is quite old and rarely used. Set its status
to Odd Fixes.

Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Message-Id: <20200710190451.761286-1-ppandit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: a08464521ccb302a24c7785f50ce32473904136c
      
https://github.com/qemu/qemu/commit/a08464521ccb302a24c7785f50ce32473904136c
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M block/Makefile.objs
    M block/trace-events
    R block/vxhs.c
    M configure
    M docs/system/deprecated.rst
    M qapi/block-core.json
    M tests/qemu-iotests/017
    M tests/qemu-iotests/029
    M tests/qemu-iotests/073
    M tests/qemu-iotests/114
    M tests/qemu-iotests/130
    M tests/qemu-iotests/134
    M tests/qemu-iotests/156
    M tests/qemu-iotests/158
    M tests/qemu-iotests/282
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.rc

  Log Message:
  -----------
  Remove VXHS block device

The vxhs code doesn't compile since v2.12.0. There's no point in fixing
and then adding CI for a config that our users have demonstrated that
they do not use; better to just remove it.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200711065926.2204721-1-marcandre.lureau@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 1c404d756fd59ecee09dec924b88c492d24b3fc8
      
https://github.com/qemu/qemu/commit/1c404d756fd59ecee09dec924b88c492d24b3fc8
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img resize: Require --shrink for shrinking all image formats

QEMU 2.11 introduced the --shrink option for qemu-img resize to avoid
accidentally shrinking images (commit 4ffca8904a3). However, for
compatibility reasons, it was not enforced for raw images yet, but only
a deprecation warning was printed. This warning has existed for long
enough that we can now finally require --shrink for raw images, too, and
error out if it's not given.

Documentation already describes the state as it is after this patch.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200710121717.28339-1-kwolf@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 3e018afbfe005a3448949bfe3954888b9d8460c4
      
https://github.com/qemu/qemu/commit/3e018afbfe005a3448949bfe3954888b9d8460c4
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M tests/crypto-tls-x509-helpers.c
    M tests/qemu-iotests/common.tls

  Log Message:
  -----------
  crypto: use a stronger private key for tests

The unit tests using the x509 crypto functionality have started
failing in Fedora 33 rawhide with a message like

      The certificate uses an insecure algorithm

This is result of Fedora changes to support strong crypto [1]. RSA
with 1024 bit key is viewed as legacy and thus insecure. Generate
a new private key which is 3072 bits long and reasonable future
proof.

[1] https://fedoraproject.org/wiki/Changes/StrongCryptoSettings2

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20200715154701.1041325-1-berrange@redhat.com>
Reviewed-by: Kashyap Chamarthy <kchamart@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: f21f12936f9db6de4eddfcf9a086b6efd5b093cc
      
https://github.com/qemu/qemu/commit/f21f12936f9db6de4eddfcf9a086b6efd5b093cc
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M tests/qemu-iotests/030

  Log Message:
  -----------
  iotests/030: Reduce job speed to make race less likely

It can happen that the throttling of the stream job doesn't make it slow
enough that we can be sure that it still exists when it is referenced
again. Just use a much smaller speed to make this very unlikely to
happen again.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200716132829.20127-1-kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 453cc6be0a954ecdb4e0cdbf5b5b87f07b3e1075
      
https://github.com/qemu/qemu/commit/453cc6be0a954ecdb4e0cdbf5b5b87f07b3e1075
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd: make nbd_export_close_all() synchronous

Consider nbd_export_close_all(). The call-stack looks like this:
 nbd_export_close_all() -> nbd_export_close -> call client_close() for
each client.

client_close() doesn't guarantee that client is closed: nbd_trip()
keeps reference to it. So, nbd_export_close_all() just reduce
reference counter on export and removes it from the list, but doesn't
guarantee that nbd_trip() finished neither export actually removed.

Let's wait for all exports actually removed.

Without this fix, the following crash is possible:

- export bitmap through internal Qemu NBD server
- connect a client
- shutdown Qemu

On shutdown nbd_export_close_all is called, but it actually don't wait
for nbd_trip() to finish and to release its references. So, export is
not release, and exported bitmap remains busy, and on try to remove the
bitmap (which is part of bdrv_close()) the assertion fails:

bdrv_release_dirty_bitmap_locked: Assertion `!bdrv_dirty_bitmap_busy(bitmap)' 
failed

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200714162234.13113-2-vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: d047cfa78dc76fb8c7768620106bf1acb7c79797
      
https://github.com/qemu/qemu/commit/d047cfa78dc76fb8c7768620106bf1acb7c79797
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

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

  Log Message:
  -----------
  iotests: test shutdown when bitmap is exported through NBD

Test shutdown when bitmap is exported through NBD and active client
exists. The previous patch fixes a crash, provoked by this scenario.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Tested-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200714162234.13113-3-vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 9c60a5d1978e6dcf85c0e01b50e6f7f54ca09104
      
https://github.com/qemu/qemu/commit/9c60a5d1978e6dcf85c0e01b50e6f7f54ca09104
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Require aligned image size to avoid assertion failure

Unaligned requests will automatically be aligned to bl.request_alignment
and we can't extend write requests to access space beyond the end of the
image without resizing the image, so if we have the WRITE permission,
but not the RESIZE one, it's required that the image size is aligned.

Failing to meet this requirement could cause assertion failures like
this if RESIZE permissions weren't requested:

qemu-img: block/io.c:1910: bdrv_co_write_req_prepare: Assertion `end_sector <= 
bs->total_sectors || child->perm & BLK_PERM_RESIZE' failed.

This was e.g. triggered by qemu-img converting to a target image with 4k
request alignment when the image was only aligned to 512 bytes, but not
to 4k.

Turn this into a graceful error in bdrv_check_perm() so that WRITE
without RESIZE can only be taken if the image size is aligned. If a user
holds both permissions and drops only RESIZE, the function will return
an error, but bdrv_child_try_set_perm() will ignore the failure silently
if permissions are only requested to be relaxed and just keep both
permissions while returning success.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200716142601.111237-2-kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 5edc85571e7b7269dce408735eba7507f18ac666
      
https://github.com/qemu/qemu/commit/5edc85571e7b7269dce408735eba7507f18ac666
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Allow byte-aligned O_DIRECT with NFS

Since commit a6b257a08e3 ('file-posix: Handle undetectable alignment'),
we assume that if we open a file with O_DIRECT and alignment probing
returns 1, we just couldn't find out the real alignment requirement
because some filesystems make the requirement only for allocated blocks.
In this case, a safe default of 4k is used.

This is too strict for NFS, which does actually allow byte-aligned
requests even with O_DIRECT. Because we can't distinguish both cases
with generic code, let's just look at the file system magic and disable
s->needs_alignment for NFS. This way, O_DIRECT can still be used on NFS
for images that are not aligned to 4k.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200716142601.111237-3-kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 20eaf1bf6ef1df916cb7ea2d06d1e868f238835f
      
https://github.com/qemu/qemu/commit/20eaf1bf6ef1df916cb7ea2d06d1e868f238835f
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Move check_hdev_writable() up

We'll need to call it in raw_open_common(), so move the function to
avoid a forward declaration.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200717105426.51134-2-kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: bca5283bd4a086bcbfaddc024491a400cc9b2fa9
      
https://github.com/qemu/qemu/commit/bca5283bd4a086bcbfaddc024491a400cc9b2fa9
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Fix check_hdev_writable() with auto-read-only

For Linux block devices, being able to open the device read-write
doesn't necessarily mean that the device is actually writable (one
example is a read-only LV, as you get with lvchange -pr <device>). We
have check_hdev_writable() to check this condition and fail opening the
image read-write if it's not actually writable.

However, this check doesn't take auto-read-only into account, but
results in a hard failure instead of downgrading to read-only where
possible.

Fix this and do the writable check not based on BDRV_O_RDWR, but only
when this actually results in opening the file read-write. A second
check is inserted in raw_reconfigure_getfd() to have the same check when
dynamic auto-read-only upgrades an image file from read-only to
read-write.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200717105426.51134-3-kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: a8c5cf27c945d392edd85b0b0c64cd5c52cae658
      
https://github.com/qemu/qemu/commit/a8c5cf27c945d392edd85b0b0c64cd5c52cae658
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M block/file-posix.c

  Log Message:
  -----------
  file-posix: Fix leaked fd in raw_open_common() error path

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200717105426.51134-4-kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>


  Commit: 920d213cb22a4b8d1a7c941da1955b45c5fd9a09
      
https://github.com/qemu/qemu/commit/920d213cb22a4b8d1a7c941da1955b45c5fd9a09
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2020-07-17 (Fri, 17 Jul 2020)

  Changed paths:
    M MAINTAINERS
    M block.c
    M block/Makefile.objs
    M block/file-posix.c
    M block/trace-events
    R block/vxhs.c
    M configure
    M docs/system/deprecated.rst
    M nbd/server.c
    M qapi/block-core.json
    M qemu-img.c
    M tests/crypto-tls-x509-helpers.c
    M tests/qemu-iotests/017
    M tests/qemu-iotests/029
    M tests/qemu-iotests/030
    M tests/qemu-iotests/073
    M tests/qemu-iotests/114
    M tests/qemu-iotests/130
    M tests/qemu-iotests/134
    M tests/qemu-iotests/156
    M tests/qemu-iotests/158
    M tests/qemu-iotests/282
    A tests/qemu-iotests/299
    A tests/qemu-iotests/299.out
    M tests/qemu-iotests/check
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/common.tls
    M tests/qemu-iotests/group

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

Block layer patches:

- file-posix: Fix read-only Linux block devices with auto-read-only
- Require aligned image size with O_DIRECT to avoid assertion failure
- Allow byte-aligned direct I/O on NFS instead of guessing 4k alignment
- Fix nbd_export_close_all() crash
- Fix race in iotests case 030
- qemu-img resize: Require --shrink for shrinking all image formats
- crypto: use a stronger private key for tests
- Remove VXHS block device
- MAINTAINERS: vvfat: set status to odd fixes

# gpg: Signature made Fri 17 Jul 2020 13:31:18 BST
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream:
  file-posix: Fix leaked fd in raw_open_common() error path
  file-posix: Fix check_hdev_writable() with auto-read-only
  file-posix: Move check_hdev_writable() up
  file-posix: Allow byte-aligned O_DIRECT with NFS
  block: Require aligned image size to avoid assertion failure
  iotests: test shutdown when bitmap is exported through NBD
  nbd: make nbd_export_close_all() synchronous
  iotests/030: Reduce job speed to make race less likely
  crypto: use a stronger private key for tests
  qemu-img resize: Require --shrink for shrinking all image formats
  Remove VXHS block device
  vvfat: set status to odd fixes

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/b7bda69c4ef4...920d213cb22a



reply via email to

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