Skip to content
Snippets Groups Projects
  1. Feb 01, 2021
  2. Jan 29, 2021
  3. Jan 28, 2021
  4. Jan 27, 2021
    • Kevin Wolf's avatar
      block: Separate blk_is_writable() and blk_supports_write_perm() · 86b1cf32
      Kevin Wolf authored
      Currently, blk_is_read_only() tells whether a given BlockBackend can
      only be used in read-only mode because its root node is read-only. Some
      callers actually try to answer a slightly different question: Is the
      BlockBackend configured to be writable, by taking write permissions on
      the root node?
      
      This can differ, for example, for CD-ROM devices which don't take write
      permissions, but may be backed by a writable image file. scsi-cd allows
      write requests to the drive if blk_is_read_only() returns false.
      However, the write request will immediately run into an assertion
      failure because the write permission is missing.
      
      This patch introduces separate functions for both questions.
      blk_supports_write_perm() answers the question whether the block
      node/image file can support writable devices, whereas blk_is_writable()
      tells whether the BlockBackend is currently configured to be writable.
      
      All calls of blk_is_read_only() are converted to one of the two new
      functions.
      
      Fixes: https://bugs.launchpad.net/bugs/1906693
      
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-Id: <20210118123448.307825-2-kwolf@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: default avatarMax Reitz <mreitz@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      86b1cf32
    • Peter Maydell's avatar
      hw/display/vmware_vga: Remove dependency on VNC header · 15b08119
      Peter Maydell authored
      
      In commit 2f487a3d we fixed a problem observed with using the
      vmware-vga device and the VNC UI frontend in a belt-and-braces
      manner:
       * we made the VNC frontend handle non-multiple-of-16 surface widths
       * we rounded up the vmware-vga display width to a multiple of 16
      
      However this introduced a spurious dependency of a device model on a
      UI frontend header.  vmware-vga isn't special and should not care
      about what UI frontend it is using, and the VNC frontend needs to
      handle arbitrary surface widths because other display device models
      could use them.  Moreover, even if the maximum width in vmware-vga is
      made a multiple of 16, the guest itself can always program a
      different width.
      
      Remove the dependency on the VNC header.  Since we have been using
      the rounded-up width value since 2014, stick with it rather than
      introducing a behaviour change, but don't calculate it by rounding up
      to VNC_DIRTY_BITS_PER_PIXEL any more.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Message-Id: <20210112161608.16055-1-peter.maydell@linaro.org>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      15b08119
  5. Jan 26, 2021
  6. Jan 25, 2021
  7. Jan 24, 2021
Loading