1. 15 9月, 2015 5 次提交
    • D
      crypto: move crypto objects out of libqemuutil.la · fb37726d
      Daniel P. Berrange 提交于
      Future patches will be adding more crypto related APIs which
      rely on QOM infrastructure. This creates a problem, because
      QOM relies on library constructors to register objects. When
      you have a file in a static .a library though which is only
      referenced by a constructor the linker is dumb and will drop
      that file when linking to the final executable :-( The only
      workaround for this is to link the .a library to the executable
      using the -Wl,--whole-archive flag, but this creates its own
      set of problems because QEMU is relying on lazy linking for
      libqemuutil.a. Using --whole-archive majorly increases the
      size of final executables as they now contain a bunch of
      object code they don't actually use.
      
      The least bad option is to thus not include the crypto objects
      in libqemuutil.la, and instead define a crypto-obj-y variable
      that is referenced directly by all the executables that need
      this code (tools + softmmu, but not qemu-ga). We avoid pulling
      entire of crypto-obj-y into the userspace emulators as that
      would force them to link to gnutls too, which is not required.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      fb37726d
    • D
      tests: remove repetition in unit test object deps · b124533e
      Daniel P. Berrange 提交于
      Most of the unit tests have identical sets of object deps.
      For example all block unit tests need to depend on
      
       $(block-obj-y) libqemuutil.a libqemustub.a
      
      Currently each unit test repeats this list of test deps.
      This list of deps will grow as future patches add more
      modules to the build, so define some common variables
      that can be used by all unit tests to remove the
      repetition.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      b124533e
    • D
      qapi: allow override of default enum prefix naming · 351d36e4
      Daniel P. Berrange 提交于
      The camel_to_upper() method applies some heuristics to turn
      a mixed case type name into an all-uppercase name. This is
      used for example, to generate enum constant name prefixes.
      
      The heuristics don't also generate a satisfactory name
      though. eg
      
        { 'enum': 'QCryptoTLSCredsEndpoint',
          'data': ['client', 'server']}
      
      Results in Q_CRYPTOTLS_CREDS_ENDPOINT_CLIENT. This has
      an undesirable _ after the initial Q and is missing an
      _ between the CRYPTO & TLS strings.
      
      Rather than try to add more and more heuristics to try
      to cope with this, simply allow the QAPI schema to
      specify the desired enum constant prefix explicitly.
      
      eg
      
        { 'enum': 'QCryptoTLSCredsEndpoint',
          'prefix': 'QCRYPTO_TLS_CREDS_ENDPOINT',
          'data': ['client', 'server']}
      
      Now gives the QCRYPTO_TLS_CREDS_ENDPOINT_CLIENT name.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      351d36e4
    • P
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · 007e620a
      Peter Maydell 提交于
      Block layer patches (v2)
      
      # gpg: Signature made Mon 14 Sep 2015 15:56:54 BST using RSA key ID C88F2FD6
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"
      
      * remotes/kevin/tags/for-upstream: (23 commits)
        qcow2: Make qcow2_alloc_bytes() more explicit
        vmdk: Fix next_cluster_sector for compressed write
        iotests: Add test for checking large image files
        qcow2: Make size_to_clusters() return uint64_t
        qemu-iotests: More qcow2 reopen tests
        qemu-iotests: Reopen qcow2 with lazy-refcounts change
        qcow2: Support updating driver-specific options in reopen
        qcow2: Make qcow2_update_options() suitable for transactions
        qcow2: Fix memory leak in qcow2_update_options() error path
        qcow2: Leave s unchanged on qcow2_update_options() failure
        qcow2: Move rest of option handling to qcow2_update_options()
        qcow2: Move qcow2_update_options() call up
        qcow2: Factor out qcow2_update_options()
        qcow2: Improve error message
        qemu-io: Add command 'reopen'
        qemu-io: Remove duplicate 'open' error message
        block: Allow specifying driver-specific options to reopen
        qcow2: Rename BDRVQcowState to BDRVQcow2State
        block: Drop bdrv_find_whitelisted_format()
        block: Drop drv parameter from bdrv_fill_options()
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      007e620a
    • M
      qapi: Fix cgen() for Python older than 2.7 · 2752e5be
      Markus Armbruster 提交于
      A feature new in Python 2.7 crept into commit 77e703b8: re.subn()'s
      fifth argument.  Avoid that, use re.compile().
      Reported-by: NLaurent Desnogues <laurent.desnogues@gmail.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Tested-by: NLaurent Desnogues <laurent.desnogues@gmail.com>
      Message-id: 1441640755-23902-1-git-send-email-armbru@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      2752e5be
  2. 14 9月, 2015 35 次提交