qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] ebf7bb: qcow2: do not allocate extra memory


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] ebf7bb: qcow2: do not allocate extra memory
Date: Wed, 27 Jul 2016 09:00:03 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: ebf7bba090e617fd841177e6ea3de3a129c31a97
      
https://github.com/qemu/qemu/commit/ebf7bba090e617fd841177e6ea3de3a129c31a97
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M block/qcow.c
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: do not allocate extra memory

There are no needs to allocate more than one cluster, as we set
avail_out for deflate to one cluster.

Zlib docs (http://www.zlib.net/manual.html) says:
"deflate compresses as much data as possible, and stops when the input
buffer becomes empty or the output buffer becomes full."

So, deflate will not write more than avail_out to output buffer. If
there is not enough space in output buffer for compressed data (it may
be larger than input data) deflate just returns Z_OK. (if all data is
compressed and written to output buffer deflate returns Z_STREAM_END).

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-id: address@hidden
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 54a16a63d021b2e28f08082abb20b9431d3c97d3
      
https://github.com/qemu/qemu/commit/54a16a63d021b2e28f08082abb20b9431d3c97d3
  Author: Cao jin <address@hidden>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M include/block/aio.h

  Log Message:
  -----------
  AioContext: correct comments

Correct comments of field notify_me

Cc: Kevin Wolf <address@hidden>
Cc: Max Reitz <address@hidden>
Signed-off-by: Cao jin <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 40c85028228d07c878cb58fc31222fb4d163a89f
      
https://github.com/qemu/qemu/commit/40c85028228d07c878cb58fc31222fb4d163a89f
  Author: Daniel P. Berrange <address@hidden>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M crypto/block-luks.c
    M crypto/block.c
    M crypto/blockpriv.h
    M include/crypto/block.h
    M qapi/crypto.json

  Log Message:
  -----------
  crypto: add support for querying parameters for block encryption

When creating new block encryption volumes, we accept a list of
parameters to control the formatting process. It is useful to
be able to query what those parameters were for existing block
devices. Add a qcrypto_block_get_info() method which returns a
QCryptoBlockInfo instance to report this data.

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


  Commit: c7c4cf498fc46c0dc6b0866ea5f00e056cae15bb
      
https://github.com/qemu/qemu/commit/c7c4cf498fc46c0dc6b0866ea5f00e056cae15bb
  Author: Daniel P. Berrange <address@hidden>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

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

  Log Message:
  -----------
  block: export LUKS specific data to qemu-img info

The qemu-img info command has the ability to expose format
specific metadata about volumes. Wire up this facility for
the LUKS driver to report on cipher configuration and key
slot usage.

    $ qemu-img info ~/VirtualMachines/demo.luks
    image: /home/berrange/VirtualMachines/demo.luks
    file format: luks
    virtual size: 98M (102760448 bytes)
    disk size: 100M
    encrypted: yes
    Format specific information:
  ivgen alg: plain64
  hash alg: sha1
  cipher alg: aes-128
  uuid: 6ddee74b-3a22-408c-8909-6789d4fa2594
  cipher mode: xts
  slots:
      [0]:
          active: true
          iters: 572706
          key offset: 4096
          stripes: 4000
      [1]:
          active: false
          key offset: 135168
      [2]:
          active: false
          key offset: 266240
      [3]:
          active: false
          key offset: 397312
      [4]:
          active: false
          key offset: 528384
      [5]:
          active: false
          key offset: 659456
      [6]:
          active: false
          key offset: 790528
      [7]:
          active: false
          key offset: 921600
  payload offset: 2097152
  master key iters: 142375

One somewhat undesirable artifact is that the data fields are
printed out in (apparently) random order. This will be addressed
later by changing the way the block layer pretty-prints the
image specific data.

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


  Commit: 4c44b4a4c816a0450b80feb14d692c9c8b80fbd2
      
https://github.com/qemu/qemu/commit/4c44b4a4c816a0450b80feb14d692c9c8b80fbd2
  Author: Daniel P. Berrange <address@hidden>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M scripts/qemu.py
    M scripts/qtest.py
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  iotest: fix python based IO tests

The previous commit refactoring iotests.py:

  commit 66613974468fb6e1609fb3eabf55981b1ee436cf
  Author: Daniel P. Berrange <address@hidden>
  Date:   Wed Jul 20 14:23:10 2016 +0100

    scripts: refactor the VM class in iotests for reuse

was not properly tested and included a number of broken
bits.

 - The 'event_match' method was not moved into qemu.py
 - The 'self._args' list parameter in QEMUMachine needs
   to be copied otherwise modifications will affect the
   global 'qemu_opts' variable in iotests.py
 - The QEMUQtestMachine class methods had inverted
   parameter order for the super() calls
 - The QEMUQtestMachine class forgot to add
   '-machine accel=qtest'
 - The QEMUQtestMachine class constructor needs to set
   a default 'name' value before using it as it may
   be None
 - The QEMUQtestMachine class constructor needs to use
   named parameters when calling the super constructor
   as it is leaving out some positional parameters.
 - The 'qemu_prog' variable should be a string not a
   list in iotests.py
 - The VM classs constructor needs to use named
   parameters when calling the super constructor
   as it is leaving out some positional parameters.
 - The path to the socket-scm-helper needs to be
   passed into the QEMUMachine class

Signed-off-by: Daniel P. Berrange <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: c1fdfe9fcaf4e47ec3def98c5a7c52d2cae6c511
      
https://github.com/qemu/qemu/commit/c1fdfe9fcaf4e47ec3def98c5a7c52d2cae6c511
  Author: Peter Maydell <address@hidden>
  Date:   2016-07-26 (Tue, 26 Jul 2016)

  Changed paths:
    M block/crypto.c
    M block/qcow.c
    M block/qcow2.c
    M crypto/block-luks.c
    M crypto/block.c
    M crypto/blockpriv.h
    M include/block/aio.h
    M include/crypto/block.h
    M qapi/block-core.json
    M qapi/crypto.json
    M scripts/qemu.py
    M scripts/qtest.py
    M tests/qemu-iotests/iotests.py

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2016-07-26' 
into staging

Block patches for 2.7.0-rc1

# gpg: Signature made Tue 26 Jul 2016 18:11:36 BST
# gpg:                using RSA key 0x3BB14202E838ACAD
# gpg: Good signature from "Max Reitz <address@hidden>"
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40
#      Subkey fingerprint: 58B3 81CE 2DC8 9CF9 9730  EE64 3BB1 4202 E838 ACAD

* remotes/maxreitz/tags/pull-block-2016-07-26:
  iotest: fix python based IO tests
  block: export LUKS specific data to qemu-img info
  crypto: add support for querying parameters for block encryption
  AioContext: correct comments
  qcow2: do not allocate extra memory

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


Compare: https://github.com/qemu/qemu/compare/f49ee630d737...c1fdfe9fcaf4

reply via email to

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