1. 27 4月, 2012 4 次提交
  2. 20 4月, 2012 1 次提交
    • K
      qcow2: Version 3 images · 6744cbab
      Kevin Wolf 提交于
      This adds the basic infrastructure to qcow2 to handle version 3 images.
      It includes code to create v3 images, allow header updates for v3 images
      and checks feature bits.
      
      It still misses support for zero clusters, so this is not a fully
      compliant implementation of v3 yet.
      
      The default for creating new images stays at v2 for now.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      6744cbab
  3. 05 4月, 2012 3 次提交
  4. 29 2月, 2012 3 次提交
  5. 23 2月, 2012 1 次提交
  6. 09 2月, 2012 1 次提交
    • S
      block: add .bdrv_co_write_zeroes() interface · f08f2dda
      Stefan Hajnoczi 提交于
      The ability to zero regions of an image file is a useful primitive for
      higher-level features such as image streaming or zero write detection.
      
      Image formats may support an optimized metadata representation instead
      of writing zeroes into the image file.  This allows zero writes to be
      potentially faster than regular write operations and also preserve
      sparseness of the image file.
      
      The .bdrv_co_write_zeroes() interface should be implemented by block
      drivers that wish to provide efficient zeroing.
      
      Note that this operation is different from the discard operation, which
      may leave the contents of the region indeterminate.  That means
      discarded blocks are not guaranteed to contain zeroes and may contain
      junk data instead.
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      f08f2dda
  7. 26 1月, 2012 4 次提交
  8. 05 12月, 2011 6 次提交
  9. 22 11月, 2011 1 次提交
    • A
      block: allow migration to work with image files (v3) · 0f15423c
      Anthony Liguori 提交于
      Image files have two types of data: immutable data that describes things like
      image size, backing files, etc. and mutable data that includes offset and
      reference count tables.
      
      Today, image formats aggressively cache mutable data to improve performance.  In
      some cases, this happens before a guest even starts.  When dealing with live
      migration, since a file is open on two machines, the caching of meta data can
      lead to data corruption.
      
      This patch addresses this by introducing a mechanism to invalidate any cached
      mutable data a block driver may have which is then used by the live migration
      code.
      
      NB, this still requires coherent shared storage.  Addressing migration without
      coherent shared storage (i.e. NFS) requires additional work.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      0f15423c
  10. 11 11月, 2011 2 次提交
    • K
      block: Introduce bdrv_co_flush_to_os · eb489bb1
      Kevin Wolf 提交于
      qcow2 has a writeback metadata cache, so flushing a qcow2 image actually
      consists of writing back that cache to the protocol and only then flushes the
      protocol in order to get everything stable on disk.
      
      This introduces a separate bdrv_co_flush_to_os to reflect the split.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      eb489bb1
    • K
      block: Rename bdrv_co_flush to bdrv_co_flush_to_disk · c68b89ac
      Kevin Wolf 提交于
      There are two different types of flush that you can do: Flushing one level up
      to the OS (i.e. writing data to the host page cache) or flushing it all the way
      down to the disk. The existing functions flush to the disk, reflect this in the
      function name.
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      c68b89ac
  11. 27 10月, 2011 2 次提交
  12. 21 10月, 2011 4 次提交
  13. 11 10月, 2011 1 次提交
    • L
      block: Keep track of devices' I/O status · 28a7282a
      Luiz Capitulino 提交于
      This commit adds support to the BlockDriverState type to keep track
      of devices' I/O status.
      
      There are three possible status: BDRV_IOS_OK (no error), BDRV_IOS_ENOSPC
      (no space error) and BDRV_IOS_FAILED (any other error). The distinction
      between no space and other errors is important because a management
      application may want to watch for no space in order to extend the
      space assigned to the VM and put it to run again.
      
      Qemu devices supporting the I/O status feature have to enable it
      explicitly by calling bdrv_iostatus_enable() _and_ have to be
      configured to stop the VM on errors (ie. werror=stop|enospc or
      rerror=stop).
      
      In case of multiple errors being triggered in sequence only the first
      one is stored. The I/O status is always reset to BDRV_IOS_OK when the
      'cont' command is issued.
      
      Next commits will add support to some devices and extend the
      query-block/info block commands to return the I/O status information.
      Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      28a7282a
  14. 12 9月, 2011 5 次提交
  15. 06 9月, 2011 2 次提交