qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 86ce1f: qemu-img: add the 'dd' subcommand


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 86ce1f: qemu-img: add the 'dd' subcommand
Date: Thu, 22 Sep 2016 05:30:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 86ce1f6e2b73b33c4a52818e245378bf52d27200
      
https://github.com/qemu/qemu/commit/86ce1f6e2b73b33c4a52818e245378bf52d27200
  Author: Reda Sallahi <address@hidden>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M qemu-img-cmds.hx
    M qemu-img.c
    M qemu-img.texi
    A tests/qemu-iotests/159
    A tests/qemu-iotests/159.out
    A tests/qemu-iotests/170
    A tests/qemu-iotests/170.out
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-img: add the 'dd' subcommand

This patch adds a basic dd subcommand analogous to dd(1) to qemu-img.

For the start, this implements the bs, if, of and count options and requires
both if and of to be specified (no stdin/stdout if not specified) and doesn't
support tty, pipes, etc.

The image format must be specified with -O for the output if the raw format
is not the intended one.

Two tests are added to test qemu-img dd.

Signed-off-by: Reda Sallahi <address@hidden>
Message-id: address@hidden
Reviewed-by: Stefan Hajnoczi <address@hidden>
[mreitz: Moved test 158 to 170]
Signed-off-by: Max Reitz <address@hidden>


  Commit: f7c1553388c98efcdcc70371e655417cf1ed7df6
      
https://github.com/qemu/qemu/commit/f7c1553388c98efcdcc70371e655417cf1ed7df6
  Author: Reda Sallahi <address@hidden>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M qemu-img-cmds.hx
    M qemu-img.c
    M qemu-img.texi
    A tests/qemu-iotests/160
    A tests/qemu-iotests/160.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-img: add skip option to dd

This adds the skip option which allows qemu-img dd to skip a number of blocks
before copying the input.

A test case was added to test the skip option.

Signed-off-by: Reda Sallahi <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: f57b4b5fb127b60e1aade2684a8b16bc4f630b29
      
https://github.com/qemu/qemu/commit/f57b4b5fb127b60e1aade2684a8b16bc4f630b29
  Author: Colin Lord <address@hidden>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M block/iscsi.c
    M vl.c

  Log Message:
  -----------
  blockdev: prepare iSCSI block driver for dynamic loading

This commit moves the initialization of the QemuOptsList qemu_iscsi_opts
struct out of block/iscsi.c in order to allow the iscsi module to be
dynamically loaded.

Signed-off-by: Colin Lord <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 0c0c1fd973013671ea63680fcd9802766c1d04fe
      
https://github.com/qemu/qemu/commit/0c0c1fd973013671ea63680fcd9802766c1d04fe
  Author: Marc Mari <address@hidden>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M Makefile
    A scripts/modules/module_block.py

  Log Message:
  -----------
  blockdev: Add dynamic generation of module_block.h

To simplify the addition of new block modules, add a script that generates
module_block.h automatically from the modules' source code.

This script assumes that the QEMU coding style rules are followed.

Signed-off-by: Marc MarĂ­ <address@hidden>
Signed-off-by: Colin Lord <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 88d88798b7efeb0be15b1a60e58b1f8ba4c2f700
      
https://github.com/qemu/qemu/commit/88d88798b7efeb0be15b1a60e58b1f8ba4c2f700
  Author: Marc Mari <address@hidden>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M Makefile
    M block.c
    M block/Makefile.objs
    M include/qemu/module.h
    M util/module.c

  Log Message:
  -----------
  blockdev: Add dynamic module loading for block drivers

Extend the current module interface to allow for block drivers to be
loaded dynamically on request. The only block drivers that can be
converted into modules are the drivers that don't perform any init
operation except for registering themselves.

In addition, only the protocol drivers are being modularized, as they
are the only ones which see significant performance benefits. The format
drivers do not generally link to external libraries, so modularizing
them is of no benefit from a performance perspective.

All the necessary module information is located in a new structure found
in module_block.h

This spoils the purpose of 5505e8b76f (block/dmg: make it modular).

Before this patch, if module build is enabled, block-dmg.so is linked to
libbz2, whereas the main binary is not. In downstream, theoretically, it
means only the qemu-block-extra package depends on libbz2, while the
main QEMU package needn't to. With this patch, we (temporarily) change
the case so that the main QEMU depends on libbz2 again.

Signed-off-by: Marc MarĂ­ <address@hidden>
Signed-off-by: Colin Lord <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
[mreitz: Do a signed comparison against the length of
 block_driver_modules[], so it will not cause a compile error when
 empty]
Signed-off-by: Max Reitz <address@hidden>


  Commit: 4be4879ff8b4a6504ed981c470f3cb6b57eddb1d
      
https://github.com/qemu/qemu/commit/4be4879ff8b4a6504ed981c470f3cb6b57eddb1d
  Author: Colin Lord <address@hidden>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M block/Makefile.objs
    M configure

  Log Message:
  -----------
  blockdev: Modularize nfs block driver

Modularizes the nfs block driver so that it gets dynamically loaded.

Signed-off-by: Colin Lord <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: 4d6f8cbba75eb3bf389cd0edb779c9e33f4b03a6
      
https://github.com/qemu/qemu/commit/4d6f8cbba75eb3bf389cd0edb779c9e33f4b03a6
  Author: Alberto Garcia <address@hidden>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M block/commit.c

  Log Message:
  -----------
  commit: get the overlay node before manipulating the backing chain

The 'block-commit' command has a 'top' parameter to specify the
topmost node from which the data is going to be copied.

   [E] <- [D] <- [C] <- [B] <- [A]

In this case if [C] is the top node then this is the result:

   [E] <- [B] <- [A]

[B] must be modified so its backing image string points to [E] instead
of [C]. commit_start() takes care of reopening [B] in read-write
mode, and commit_complete() puts it back in read-only mode once the
operation has finished.

In order to find [B] (the overlay node) we look for the node that has
[C] (the top node) as its backing image. However in commit_complete()
we're doing it after [C] has been removed from the chain, so [B] is
never found and remains in read-write mode.

This patch gets the overlay node before the backing chain is
manipulated.

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Signed-off-by: Max Reitz <address@hidden>


  Commit: 819cec0114eeca80444a21f2e3526ef62d729385
      
https://github.com/qemu/qemu/commit/819cec0114eeca80444a21f2e3526ef62d729385
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M tests/qemu-iotests/055

  Log Message:
  -----------
  iotest 055: refactor and speed up

Source disk is created and filled with test data before each test case.
Instead initialize it once for the whole unit.

Test disk filling patterns are merged into one pattern.

Also TestSetSpeed used different image_len for source and target (by
mistake) - this is automatically fixed here.

Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Message-id: address@hidden
Reviewed-by: Pavel Butsykin <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Max Reitz <address@hidden>


  Commit: ffd455ae41772d92a7c52f58eed3fb89f04b6a60
      
https://github.com/qemu/qemu/commit/ffd455ae41772d92a7c52f58eed3fb89f04b6a60
  Author: Peter Maydell <address@hidden>
  Date:   2016-09-22 (Thu, 22 Sep 2016)

  Changed paths:
    M Makefile
    M block.c
    M block/Makefile.objs
    M block/commit.c
    M block/iscsi.c
    M configure
    M include/qemu/module.h
    M qemu-img-cmds.hx
    M qemu-img.c
    M qemu-img.texi
    A scripts/modules/module_block.py
    M tests/qemu-iotests/055
    A tests/qemu-iotests/159
    A tests/qemu-iotests/159.out
    A tests/qemu-iotests/160
    A tests/qemu-iotests/160.out
    A tests/qemu-iotests/170
    A tests/qemu-iotests/170.out
    M tests/qemu-iotests/common.filter
    M tests/qemu-iotests/common.rc
    M tests/qemu-iotests/group
    M util/module.c
    M vl.c

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

Block patches for 2.8

# gpg: Signature made Tue 20 Sep 2016 21:29:53 BST
# gpg:                using RSA key 0xF407DB0061D5CF40
# gpg: Good signature from "Max Reitz <address@hidden>"
# Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40

* remotes/maxreitz/tags/pull-block-2016-09-20:
  iotest 055: refactor and speed up
  commit: get the overlay node before manipulating the backing chain
  blockdev: Modularize nfs block driver
  blockdev: Add dynamic module loading for block drivers
  blockdev: Add dynamic generation of module_block.h
  blockdev: prepare iSCSI block driver for dynamic loading
  qemu-img: add skip option to dd
  qemu-img: add the 'dd' subcommand

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


Compare: https://github.com/qemu/qemu/compare/b98bbea2d94d...ffd455ae4177

reply via email to

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