All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/8] Block patches
@ 2014-01-31 21:19 Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 1/8] Describe flaws in qcow/qcow2 encryption in the docs Stefan Hajnoczi
                   ` (8 more replies)
  0 siblings, 9 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

The following changes since commit 89e4a51ca9546a7bbe1998c4e3d4a3ac3a0c19be:

  Merge remote-tracking branch 'stefanha/tags/tracing-pull-request' into staging (2014-01-31 11:13:08 +0000)

are available in the git repository at:


  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to 1b7650ef2f63d53cf89af25a9f323323cf2423a7:

  qemu-iotests: only run 071 on qcow2 (2014-01-31 22:05:03 +0100)

----------------------------------------------------------------
Block pull request

----------------------------------------------------------------
Daniel P. Berrange (1):
      Describe flaws in qcow/qcow2 encryption in the docs

Fam Zheng (1):
      qemu-iotests: Drop assert_no_active_commit in case 040

Jeff Cody (2):
      block: remove QED .bdrv_make_empty implementation
      block: remove qcow2 .bdrv_make_empty implementation

Markus Armbruster (2):
      block/vhdx: Error checking fixes
      dataplane: Comment fix

Peter Lieven (1):
      block/vmdk: add basic .bdrv_check support

Stefan Hajnoczi (1):
      qemu-iotests: only run 071 on qcow2

 block/qcow2.c                   | 21 ------------------
 block/qed.c                     |  6 ------
 block/vhdx-log.c                |  4 ++--
 block/vhdx.c                    |  8 +++----
 block/vmdk.c                    | 48 +++++++++++++++++++++++++++++++++++++++++
 hw/block/dataplane/virtio-blk.c |  2 +-
 qemu-doc.texi                   | 23 +++++++++++++++++---
 qemu-img.texi                   | 23 +++++++++++++++++---
 tests/qemu-iotests/040          | 28 +++++++++++-------------
 tests/qemu-iotests/071          |  2 +-
 10 files changed, 108 insertions(+), 57 deletions(-)

-- 
1.8.5.3

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 1/8] Describe flaws in qcow/qcow2 encryption in the docs
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
@ 2014-01-31 21:19 ` Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 2/8] block: remove QED .bdrv_make_empty implementation Stefan Hajnoczi
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

From: "Daniel P. Berrange" <berrange@redhat.com>

The qemu-img.texi / qemu-doc.texi files currently describe the
qcow2/qcow2 encryption thus

  "Encryption uses the AES format which is very secure (128 bit
   keys). Use a long password (16 characters) to get maximum
   protection."

While AES is indeed a strong encryption system, the way that
QCow/QCow2 use it results in a poor/weak encryption system.
Due to the use of predictable IVs, based on the sector number
extended to 128 bits, it is vulnerable to chosen plaintext
attacks which can reveal the existence of encrypted data.

The direct use of the user passphrase as the encryption key
also leads to an inability to change the passphrase of an
image. If passphrase is ever compromised the image data will
all be vulnerable, since it cannot be re-encrypted. The admin
has to clone the image files with a new passphrase and then
use a program like shred to secure erase all the old files.

Recommend against any use of QCow/QCow2 encryption, directing
users to dm-crypt / LUKS which can meet modern cryptography
best practices.

[Changed "Qcow" to "qcow" for consistency.
--Stefan]

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 qemu-doc.texi | 23 ++++++++++++++++++++---
 qemu-img.texi | 23 ++++++++++++++++++++---
 2 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/qemu-doc.texi b/qemu-doc.texi
index ce61f30..ad31f2d 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -547,10 +547,27 @@ File name of a base image (see @option{create} subcommand)
 @item backing_fmt
 Image format of the base image
 @item encryption
-If this option is set to @code{on}, the image is encrypted.
+If this option is set to @code{on}, the image is encrypted with 128-bit AES-CBC.
+
+The use of encryption in qcow and qcow2 images is considered to be flawed by
+modern cryptography standards, suffering from a number of design problems:
+
+@itemize @minus
+@item The AES-CBC cipher is used with predictable initialization vectors based
+on the sector number. This makes it vulnerable to chosen plaintext attacks
+which can reveal the existence of encrypted data.
+@item The user passphrase is directly used as the encryption key. A poorly
+chosen or short passphrase will compromise the security of the encryption.
+@item In the event of the passphrase being compromised there is no way to
+change the passphrase to protect data in any qcow images. The files must
+be cloned, using a different encryption passphrase in the new file. The
+original file must then be securely erased using a program like shred,
+though even this is ineffective with many modern storage technologies.
+@end itemize
 
-Encryption uses the AES format which is very secure (128 bit keys). Use
-a long password (16 characters) to get maximum protection.
+Use of qcow / qcow2 encryption is thus strongly discouraged. Users are
+recommended to use an alternative encryption technology such as the
+Linux dm-crypt / LUKS system.
 
 @item cluster_size
 Changes the qcow2 cluster size (must be between 512 and 2M). Smaller cluster
diff --git a/qemu-img.texi b/qemu-img.texi
index 526d56a..f84590e 100644
--- a/qemu-img.texi
+++ b/qemu-img.texi
@@ -409,10 +409,27 @@ File name of a base image (see @option{create} subcommand)
 @item backing_fmt
 Image format of the base image
 @item encryption
-If this option is set to @code{on}, the image is encrypted.
+If this option is set to @code{on}, the image is encrypted with 128-bit AES-CBC.
 
-Encryption uses the AES format which is very secure (128 bit keys). Use
-a long password (16 characters) to get maximum protection.
+The use of encryption in qcow and qcow2 images is considered to be flawed by
+modern cryptography standards, suffering from a number of design problems:
+
+@itemize @minus
+@item The AES-CBC cipher is used with predictable initialization vectors based
+on the sector number. This makes it vulnerable to chosen plaintext attacks
+which can reveal the existence of encrypted data.
+@item The user passphrase is directly used as the encryption key. A poorly
+chosen or short passphrase will compromise the security of the encryption.
+@item In the event of the passphrase being compromised there is no way to
+change the passphrase to protect data in any qcow images. The files must
+be cloned, using a different encryption passphrase in the new file. The
+original file must then be securely erased using a program like shred,
+though even this is ineffective with many modern storage technologies.
+@end itemize
+
+Use of qcow / qcow2 encryption is thus strongly discouraged. Users are
+recommended to use an alternative encryption technology such as the
+Linux dm-crypt / LUKS system.
 
 @item cluster_size
 Changes the qcow2 cluster size (must be between 512 and 2M). Smaller cluster
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 2/8] block: remove QED .bdrv_make_empty implementation
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 1/8] Describe flaws in qcow/qcow2 encryption in the docs Stefan Hajnoczi
@ 2014-01-31 21:19 ` Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 3/8] block: remove qcow2 " Stefan Hajnoczi
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

From: Jeff Cody <jcody@redhat.com>

The QED .bdrv_make_empty() implementation does nothing but return
-ENOTSUP, which causes problems in bdrv_commit().  Since the function
stub exists for QED, it is called, which then always returns an error.

The proper way to not support an optional driver function stub is to
just not implement it, so let's remove the stub.

Signed-off-by: Jeff Cody <jcody@redhat.com>
Reviewed-by: Benoit Canet <benoit@irqsave.net>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block/qed.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/block/qed.c b/block/qed.c
index 694e6e2..b9ca7ac 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -731,11 +731,6 @@ static int64_t coroutine_fn bdrv_qed_co_get_block_status(BlockDriverState *bs,
     return cb.status;
 }
 
-static int bdrv_qed_make_empty(BlockDriverState *bs)
-{
-    return -ENOTSUP;
-}
-
 static BDRVQEDState *acb_to_s(QEDAIOCB *acb)
 {
     return acb->common.bs->opaque;
@@ -1617,7 +1612,6 @@ static BlockDriver bdrv_qed = {
     .bdrv_create              = bdrv_qed_create,
     .bdrv_has_zero_init       = bdrv_has_zero_init_1,
     .bdrv_co_get_block_status = bdrv_qed_co_get_block_status,
-    .bdrv_make_empty          = bdrv_qed_make_empty,
     .bdrv_aio_readv           = bdrv_qed_aio_readv,
     .bdrv_aio_writev          = bdrv_qed_aio_writev,
     .bdrv_co_write_zeroes     = bdrv_qed_co_write_zeroes,
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 3/8] block: remove qcow2 .bdrv_make_empty implementation
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 1/8] Describe flaws in qcow/qcow2 encryption in the docs Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 2/8] block: remove QED .bdrv_make_empty implementation Stefan Hajnoczi
@ 2014-01-31 21:19 ` Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 4/8] block/vmdk: add basic .bdrv_check support Stefan Hajnoczi
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

From: Jeff Cody <jcody@redhat.com>

The QCOW2 .bdrv_make_empty implementation always returns 0 for success,
but does not actually do anything.

The proper way to not support an optional driver function stub is to
just not implement it, so let's remove the stub.

Signed-off-by: Jeff Cody <jcody@redhat.com>
Reviewed-by: Benoit Canet <benoit@irqsave.net>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block/qcow2.c | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/block/qcow2.c b/block/qcow2.c
index 2da62b8..99a1ad1 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -1689,26 +1689,6 @@ static int qcow2_create(const char *filename, QEMUOptionParameter *options,
     return ret;
 }
 
-static int qcow2_make_empty(BlockDriverState *bs)
-{
-#if 0
-    /* XXX: not correct */
-    BDRVQcowState *s = bs->opaque;
-    uint32_t l1_length = s->l1_size * sizeof(uint64_t);
-    int ret;
-
-    memset(s->l1_table, 0, l1_length);
-    if (bdrv_pwrite(bs->file, s->l1_table_offset, s->l1_table, l1_length) < 0)
-        return -1;
-    ret = bdrv_truncate(bs->file, s->l1_table_offset + l1_length);
-    if (ret < 0)
-        return ret;
-
-    l2_cache_reset(bs);
-#endif
-    return 0;
-}
-
 static coroutine_fn int qcow2_co_write_zeroes(BlockDriverState *bs,
     int64_t sector_num, int nb_sectors, BdrvRequestFlags flags)
 {
@@ -2252,7 +2232,6 @@ static BlockDriver bdrv_qcow2 = {
     .bdrv_has_zero_init = bdrv_has_zero_init_1,
     .bdrv_co_get_block_status = qcow2_co_get_block_status,
     .bdrv_set_key       = qcow2_set_key,
-    .bdrv_make_empty    = qcow2_make_empty,
 
     .bdrv_co_readv          = qcow2_co_readv,
     .bdrv_co_writev         = qcow2_co_writev,
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 4/8] block/vmdk: add basic .bdrv_check support
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
                   ` (2 preceding siblings ...)
  2014-01-31 21:19 ` [Qemu-devel] [PULL 3/8] block: remove qcow2 " Stefan Hajnoczi
@ 2014-01-31 21:19 ` Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 5/8] qemu-iotests: Drop assert_no_active_commit in case 040 Stefan Hajnoczi
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

From: Peter Lieven <pl@kamp.de>

this adds a basic vmdk corruption check. it should detect severe
table corruptions and file truncation.

Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block/vmdk.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/block/vmdk.c b/block/vmdk.c
index 99ca60f..e809e2e 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1942,6 +1942,53 @@ static ImageInfo *vmdk_get_extent_info(VmdkExtent *extent)
     return info;
 }
 
+static int vmdk_check(BlockDriverState *bs, BdrvCheckResult *result,
+                      BdrvCheckMode fix)
+{
+    BDRVVmdkState *s = bs->opaque;
+    VmdkExtent *extent = NULL;
+    int64_t sector_num = 0;
+    int64_t total_sectors = bdrv_getlength(bs) / BDRV_SECTOR_SIZE;
+    int ret;
+    uint64_t cluster_offset;
+
+    if (fix) {
+        return -ENOTSUP;
+    }
+
+    for (;;) {
+        if (sector_num >= total_sectors) {
+            return 0;
+        }
+        extent = find_extent(s, sector_num, extent);
+        if (!extent) {
+            fprintf(stderr,
+                    "ERROR: could not find extent for sector %" PRId64 "\n",
+                    sector_num);
+            break;
+        }
+        ret = get_cluster_offset(bs, extent, NULL,
+                                 sector_num << BDRV_SECTOR_BITS,
+                                 0, &cluster_offset);
+        if (ret == VMDK_ERROR) {
+            fprintf(stderr,
+                    "ERROR: could not get cluster_offset for sector %"
+                    PRId64 "\n", sector_num);
+            break;
+        }
+        if (ret == VMDK_OK && cluster_offset >= bdrv_getlength(extent->file)) {
+            fprintf(stderr,
+                    "ERROR: cluster offset for sector %"
+                    PRId64 " points after EOF\n", sector_num);
+            break;
+        }
+        sector_num += extent->cluster_sectors;
+    }
+
+    result->corruptions++;
+    return 0;
+}
+
 static ImageInfoSpecific *vmdk_get_specific_info(BlockDriverState *bs)
 {
     int i;
@@ -2015,6 +2062,7 @@ static BlockDriver bdrv_vmdk = {
     .instance_size                = sizeof(BDRVVmdkState),
     .bdrv_probe                   = vmdk_probe,
     .bdrv_open                    = vmdk_open,
+    .bdrv_check                   = vmdk_check,
     .bdrv_reopen_prepare          = vmdk_reopen_prepare,
     .bdrv_read                    = vmdk_co_read,
     .bdrv_write                   = vmdk_co_write,
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 5/8] qemu-iotests: Drop assert_no_active_commit in case 040
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
                   ` (3 preceding siblings ...)
  2014-01-31 21:19 ` [Qemu-devel] [PULL 4/8] block/vmdk: add basic .bdrv_check support Stefan Hajnoczi
@ 2014-01-31 21:19 ` Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 6/8] block/vhdx: Error checking fixes Stefan Hajnoczi
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

From: Fam Zheng <famz@redhat.com>

It is exactly assert_no_active_block_jobs in iotests.py

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 tests/qemu-iotests/040 | 28 ++++++++++++----------------
 1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/tests/qemu-iotests/040 b/tests/qemu-iotests/040
index 72eaad5..734b6a6 100755
--- a/tests/qemu-iotests/040
+++ b/tests/qemu-iotests/040
@@ -35,12 +35,8 @@ test_img = os.path.join(iotests.test_dir, 'test.img')
 class ImageCommitTestCase(iotests.QMPTestCase):
     '''Abstract base class for image commit test cases'''
 
-    def assert_no_active_commit(self):
-        result = self.vm.qmp('query-block-jobs')
-        self.assert_qmp(result, 'return', [])
-
     def run_commit_test(self, top, base):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top=top, base=base)
         self.assert_qmp(result, 'return', {})
 
@@ -59,7 +55,7 @@ class ImageCommitTestCase(iotests.QMPTestCase):
                     self.assert_qmp(event, 'data/len', self.image_len)
                     self.vm.qmp('block-job-complete', device='drive0')
 
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         self.vm.shutdown()
 
 class TestSingleDrive(ImageCommitTestCase):
@@ -91,19 +87,19 @@ class TestSingleDrive(ImageCommitTestCase):
         self.assert_qmp(result, 'error/class', 'DeviceNotFound')
 
     def test_top_same_base(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top='%s' % backing_img, base='%s' % backing_img)
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', 'Base \'%s\' not found' % backing_img)
 
     def test_top_invalid(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top='badfile', base='%s' % backing_img)
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', 'Top image file badfile not found')
 
     def test_base_invalid(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top='%s' % mid_img, base='badfile')
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', 'Base \'badfile\' not found')
@@ -114,13 +110,13 @@ class TestSingleDrive(ImageCommitTestCase):
         self.assertEqual(-1, qemu_io('-c', 'read -P 0xef 524288 524288', backing_img).find("verification failed"))
 
     def test_top_and_base_reversed(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top='%s' % backing_img, base='%s' % mid_img)
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', 'Base \'%s\' not found' % mid_img)
 
     def test_top_omitted(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0')
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', "Parameter 'top' is missing")
@@ -181,19 +177,19 @@ class TestRelativePaths(ImageCommitTestCase):
         self.assert_qmp(result, 'error/class', 'DeviceNotFound')
 
     def test_top_same_base(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top='%s' % self.mid_img, base='%s' % self.mid_img)
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', 'Base \'%s\' not found' % self.mid_img)
 
     def test_top_invalid(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top='badfile', base='%s' % self.backing_img)
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', 'Top image file badfile not found')
 
     def test_base_invalid(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top='%s' % self.mid_img, base='badfile')
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', 'Base \'badfile\' not found')
@@ -204,7 +200,7 @@ class TestRelativePaths(ImageCommitTestCase):
         self.assertEqual(-1, qemu_io('-c', 'read -P 0xef 524288 524288', self.backing_img_abs).find("verification failed"))
 
     def test_top_and_base_reversed(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
         result = self.vm.qmp('block-commit', device='drive0', top='%s' % self.backing_img, base='%s' % self.mid_img)
         self.assert_qmp(result, 'error/class', 'GenericError')
         self.assert_qmp(result, 'error/desc', 'Base \'%s\' not found' % self.mid_img)
@@ -229,7 +225,7 @@ class TestSetSpeed(ImageCommitTestCase):
         os.remove(backing_img)
 
     def test_set_speed(self):
-        self.assert_no_active_commit()
+        self.assert_no_active_block_jobs()
 
         self.vm.pause_drive('drive0')
         result = self.vm.qmp('block-commit', device='drive0', top=mid_img, speed=1024 * 1024)
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 6/8] block/vhdx: Error checking fixes
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
                   ` (4 preceding siblings ...)
  2014-01-31 21:19 ` [Qemu-devel] [PULL 5/8] qemu-iotests: Drop assert_no_active_commit in case 040 Stefan Hajnoczi
@ 2014-01-31 21:19 ` Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 7/8] dataplane: Comment fix Stefan Hajnoczi
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

From: Markus Armbruster <armbru@redhat.com>

Errors are inadvertently ignored in a few places.  Has always been
broken.  Spotted by Coverity.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block/vhdx-log.c | 4 ++--
 block/vhdx.c     | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/block/vhdx-log.c b/block/vhdx-log.c
index 8c9ae0d..02755b8 100644
--- a/block/vhdx-log.c
+++ b/block/vhdx-log.c
@@ -965,8 +965,8 @@ static int vhdx_log_write(BlockDriverState *bs, BDRVVHDXState *s,
     cpu_to_le32s((uint32_t *)(buffer + 4));
 
     /* now write to the log */
-    vhdx_log_write_sectors(bs, &s->log, &sectors_written, buffer,
-                           desc_sectors + sectors);
+    ret = vhdx_log_write_sectors(bs, &s->log, &sectors_written, buffer,
+                                 desc_sectors + sectors);
     if (ret < 0) {
         goto exit;
     }
diff --git a/block/vhdx.c b/block/vhdx.c
index 9ee0a61..55689cf 100644
--- a/block/vhdx.c
+++ b/block/vhdx.c
@@ -374,7 +374,7 @@ static int vhdx_update_header(BlockDriverState *bs, BDRVVHDXState *s,
         inactive_header->log_guid = *log_guid;
     }
 
-    vhdx_write_header(bs->file, inactive_header, header_offset, true);
+    ret = vhdx_write_header(bs->file, inactive_header, header_offset, true);
     if (ret < 0) {
         goto exit;
     }
@@ -1810,13 +1810,13 @@ static int vhdx_create(const char *filename, QEMUOptionParameter *options,
     creator = g_utf8_to_utf16("QEMU v" QEMU_VERSION, -1, NULL,
                               &creator_items, NULL);
     signature = cpu_to_le64(VHDX_FILE_SIGNATURE);
-    bdrv_pwrite(bs, VHDX_FILE_ID_OFFSET, &signature, sizeof(signature));
+    ret = bdrv_pwrite(bs, VHDX_FILE_ID_OFFSET, &signature, sizeof(signature));
     if (ret < 0) {
         goto delete_and_exit;
     }
     if (creator) {
-        bdrv_pwrite(bs, VHDX_FILE_ID_OFFSET + sizeof(signature), creator,
-                    creator_items * sizeof(gunichar2));
+        ret = bdrv_pwrite(bs, VHDX_FILE_ID_OFFSET + sizeof(signature),
+                          creator, creator_items * sizeof(gunichar2));
         if (ret < 0) {
             goto delete_and_exit;
         }
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 7/8] dataplane: Comment fix
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
                   ` (5 preceding siblings ...)
  2014-01-31 21:19 ` [Qemu-devel] [PULL 6/8] block/vhdx: Error checking fixes Stefan Hajnoczi
@ 2014-01-31 21:19 ` Stefan Hajnoczi
  2014-01-31 21:19 ` [Qemu-devel] [PULL 8/8] qemu-iotests: only run 071 on qcow2 Stefan Hajnoczi
  2014-02-05 16:38 ` [Qemu-devel] [PULL 0/8] Block patches Peter Maydell
  8 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

From: Markus Armbruster <armbru@redhat.com>

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 hw/block/dataplane/virtio-blk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index 456d437..2237edb 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -145,7 +145,7 @@ static void do_get_id_cmd(VirtIOBlockDataPlane *s,
 {
     char id[VIRTIO_BLK_ID_BYTES];
 
-    /* Serial number not NUL-terminated when shorter than buffer */
+    /* Serial number not NUL-terminated when longer than buffer */
     strncpy(id, s->blk->serial ? s->blk->serial : "", sizeof(id));
     iov_from_buf(iov, iov_cnt, 0, id, sizeof(id));
     complete_request_early(s, elem, inhdr, VIRTIO_BLK_S_OK);
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 8/8] qemu-iotests: only run 071 on qcow2
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
                   ` (6 preceding siblings ...)
  2014-01-31 21:19 ` [Qemu-devel] [PULL 7/8] dataplane: Comment fix Stefan Hajnoczi
@ 2014-01-31 21:19 ` Stefan Hajnoczi
  2014-02-05 16:38 ` [Qemu-devel] [PULL 0/8] Block patches Peter Maydell
  8 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2014-01-31 21:19 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Anthony Liguori

The 071 test is designed for IMGFMT=qcow2 because it uses the l2_load
blkdebug event.  Its output filtering also assumes that IMGFMT is not
raw since 071.out contains "format=raw" but IMGFMT=raw would filter the
output to "format=IMGFMT".

Perhaps the test case can be rewritten to be more generic, but for now
let's document that it was only supposed to work with qcow2.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Benoit Canet <benoit@irqsave.net>
---
 tests/qemu-iotests/071 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/071 b/tests/qemu-iotests/071
index 2a22546..dbc07c6 100755
--- a/tests/qemu-iotests/071
+++ b/tests/qemu-iotests/071
@@ -38,7 +38,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
 . ./common.rc
 . ./common.filter
 
-_supported_fmt generic
+_supported_fmt qcow2
 _supported_proto generic
 _supported_os Linux
 
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
                   ` (7 preceding siblings ...)
  2014-01-31 21:19 ` [Qemu-devel] [PULL 8/8] qemu-iotests: only run 071 on qcow2 Stefan Hajnoczi
@ 2014-02-05 16:38 ` Peter Maydell
  8 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2014-02-05 16:38 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Anthony Liguori

On 31 January 2014 21:19, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 89e4a51ca9546a7bbe1998c4e3d4a3ac3a0c19be:
>
>   Merge remote-tracking branch 'stefanha/tags/tracing-pull-request' into staging (2014-01-31 11:13:08 +0000)
>
> are available in the git repository at:
>
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to 1b7650ef2f63d53cf89af25a9f323323cf2423a7:
>
>   qemu-iotests: only run 071 on qcow2 (2014-01-31 22:05:03 +0100)

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-06-24 13:15     ` Pino Toscano
@ 2019-06-24 14:49       ` Max Reitz
  0 siblings, 0 replies; 31+ messages in thread
From: Max Reitz @ 2019-06-24 14:49 UTC (permalink / raw)
  To: Pino Toscano; +Cc: Kevin Wolf, Peter Maydell, QEMU Developers, Qemu-block


[-- Attachment #1.1: Type: text/plain, Size: 2635 bytes --]

On 24.06.19 15:15, Pino Toscano wrote:
> On Monday, 24 June 2019 14:20:11 CEST Max Reitz wrote:
>> On 23.06.19 19:18, Peter Maydell wrote:
>>> On Fri, 21 Jun 2019 at 14:23, Max Reitz <mreitz@redhat.com> wrote:
>>>>
>>>> The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:
>>>>
>>>>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)
>>>>
>>>> are available in the Git repository at:
>>>>
>>>>   https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21
>>>>
>>>> for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:
>>>>
>>>>   iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)
>>>>
>>>> ----------------------------------------------------------------
>>>> Block patches:
>>>> - The SSH block driver now uses libssh instead of libssh2
>>>> - The VMDK block driver gets read-only support for the seSparse
>>>>   subformat
>>>> - Various fixes
>>>>
>>>
>>> Hi; this failed to build on my s390 box:
>>>
>>> /home/linux1/qemu/block/ssh.c: In function ‘check_host_key_knownhosts’:
>>> /home/linux1/qemu/block/ssh.c:367:27: error: implicit declaration of
>>> function ‘ssh_get_fingerprint_hash’
>>> [-Werror=implicit-function-declaration]
>>>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>>>                            ^
>>> /home/linux1/qemu/block/ssh.c:367:13: error: nested extern declaration
>>> of ‘ssh_get_fingerprint_hash’ [-Werror=nested-externs]
>>>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>>>              ^
>>> /home/linux1/qemu/block/ssh.c:367:25: error: assignment makes pointer
>>> from integer without a cast [-Werror=int-conversion]
>>>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>>>                          ^
>>>
>>> It looks like that function was introduced in libssh 0.8.3, and this box
>>> has 0.6.3. (configure has correctly not defined HAVE_LIBSSH_0_8
>>> but this usage is inside a bit of code that's compiled even when
>>> that is not defined.)
> 
> Oops, sorry, I did not test the latest versions with that old libssh.
> 
>> Pino, would you be OK with dropping that piece of code for pre-0.8 and
>> just replacing it with the else-error_setg()?
> 
> Some the variables in check_host_key_knownhosts must be moved within
> the HAVE_LIBSSH_0_8 block now; attached fixup patch, please squash with
> my patch (I can submit a v12, if needed/wanted).

Thanks, I’ve squashed it in and sent a v2 for this pull request.

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-06-24 12:20   ` Max Reitz
@ 2019-06-24 13:15     ` Pino Toscano
  2019-06-24 14:49       ` Max Reitz
  0 siblings, 1 reply; 31+ messages in thread
From: Pino Toscano @ 2019-06-24 13:15 UTC (permalink / raw)
  To: Max Reitz; +Cc: Kevin Wolf, Peter Maydell, QEMU Developers, Qemu-block


[-- Attachment #1.1: Type: text/plain, Size: 2519 bytes --]

On Monday, 24 June 2019 14:20:11 CEST Max Reitz wrote:
> On 23.06.19 19:18, Peter Maydell wrote:
> > On Fri, 21 Jun 2019 at 14:23, Max Reitz <mreitz@redhat.com> wrote:
> >>
> >> The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:
> >>
> >>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)
> >>
> >> are available in the Git repository at:
> >>
> >>   https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21
> >>
> >> for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:
> >>
> >>   iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)
> >>
> >> ----------------------------------------------------------------
> >> Block patches:
> >> - The SSH block driver now uses libssh instead of libssh2
> >> - The VMDK block driver gets read-only support for the seSparse
> >>   subformat
> >> - Various fixes
> >>
> > 
> > Hi; this failed to build on my s390 box:
> > 
> > /home/linux1/qemu/block/ssh.c: In function ‘check_host_key_knownhosts’:
> > /home/linux1/qemu/block/ssh.c:367:27: error: implicit declaration of
> > function ‘ssh_get_fingerprint_hash’
> > [-Werror=implicit-function-declaration]
> >              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
> >                            ^
> > /home/linux1/qemu/block/ssh.c:367:13: error: nested extern declaration
> > of ‘ssh_get_fingerprint_hash’ [-Werror=nested-externs]
> >              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
> >              ^
> > /home/linux1/qemu/block/ssh.c:367:25: error: assignment makes pointer
> > from integer without a cast [-Werror=int-conversion]
> >              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
> >                          ^
> > 
> > It looks like that function was introduced in libssh 0.8.3, and this box
> > has 0.6.3. (configure has correctly not defined HAVE_LIBSSH_0_8
> > but this usage is inside a bit of code that's compiled even when
> > that is not defined.)

Oops, sorry, I did not test the latest versions with that old libssh.

> Pino, would you be OK with dropping that piece of code for pre-0.8 and
> just replacing it with the else-error_setg()?

Some the variables in check_host_key_knownhosts must be moved within
the HAVE_LIBSSH_0_8 block now; attached fixup patch, please squash with
my patch (I can submit a v12, if needed/wanted).

-- 
Pino Toscano

[-- Attachment #1.2: fixup.diff --]
[-- Type: text/x-patch, Size: 2209 bytes --]

diff --git a/block/ssh.c b/block/ssh.c
index 048d0cc924..501933b855 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -277,14 +277,14 @@ static void ssh_parse_filename(const char *filename, QDict *options,
 static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
 {
     int ret;
+#ifdef HAVE_LIBSSH_0_8
+    enum ssh_known_hosts_e state;
     int r;
     ssh_key pubkey;
     enum ssh_keytypes_e pubkey_type;
     unsigned char *server_hash = NULL;
     size_t server_hash_len;
     char *fingerprint = NULL;
-#ifdef HAVE_LIBSSH_0_8
-    enum ssh_known_hosts_e state;
 
     state = ssh_session_is_known_server(s->session);
     trace_ssh_server_status(state);
@@ -356,30 +356,9 @@ static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp)
         break;
     case SSH_SERVER_KNOWN_CHANGED:
         ret = -EINVAL;
-        r = ssh_get_publickey(s->session, &pubkey);
-        if (r == 0) {
-            r = ssh_get_publickey_hash(pubkey, SSH_PUBLICKEY_HASH_SHA1,
-                                       &server_hash, &server_hash_len);
-            pubkey_type = ssh_key_type(pubkey);
-            ssh_key_free(pubkey);
-        }
-        if (r == 0) {
-            fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
-                                                   server_hash,
-                                                   server_hash_len);
-            ssh_clean_pubkey_hash(&server_hash);
-        }
-        if (fingerprint) {
-            error_setg(errp,
-                       "host key (%s key with fingerprint %s) does not match "
-                       "the one in known_hosts; this may be a possible attack",
-                       ssh_key_type_to_char(pubkey_type), fingerprint);
-            ssh_string_free_char(fingerprint);
-        } else  {
-            error_setg(errp,
-                       "host key does not match the one in known_hosts; this "
-                       "may be a possible attack");
-        }
+        error_setg(errp,
+                   "host key does not match the one in known_hosts; this "
+                   "may be a possible attack");
         goto out;
     case SSH_SERVER_FOUND_OTHER:
         ret = -EINVAL;

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-06-23 17:18 ` Peter Maydell
@ 2019-06-24 12:20   ` Max Reitz
  2019-06-24 13:15     ` Pino Toscano
  0 siblings, 1 reply; 31+ messages in thread
From: Max Reitz @ 2019-06-24 12:20 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Kevin Wolf, QEMU Developers, Qemu-block, Pino Toscano


[-- Attachment #1.1: Type: text/plain, Size: 2093 bytes --]

On 23.06.19 19:18, Peter Maydell wrote:
> On Fri, 21 Jun 2019 at 14:23, Max Reitz <mreitz@redhat.com> wrote:
>>
>> The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:
>>
>>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)
>>
>> are available in the Git repository at:
>>
>>   https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21
>>
>> for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:
>>
>>   iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)
>>
>> ----------------------------------------------------------------
>> Block patches:
>> - The SSH block driver now uses libssh instead of libssh2
>> - The VMDK block driver gets read-only support for the seSparse
>>   subformat
>> - Various fixes
>>
> 
> Hi; this failed to build on my s390 box:
> 
> /home/linux1/qemu/block/ssh.c: In function ‘check_host_key_knownhosts’:
> /home/linux1/qemu/block/ssh.c:367:27: error: implicit declaration of
> function ‘ssh_get_fingerprint_hash’
> [-Werror=implicit-function-declaration]
>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>                            ^
> /home/linux1/qemu/block/ssh.c:367:13: error: nested extern declaration
> of ‘ssh_get_fingerprint_hash’ [-Werror=nested-externs]
>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>              ^
> /home/linux1/qemu/block/ssh.c:367:25: error: assignment makes pointer
> from integer without a cast [-Werror=int-conversion]
>              fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
>                          ^
> 
> It looks like that function was introduced in libssh 0.8.3, and this box
> has 0.6.3. (configure has correctly not defined HAVE_LIBSSH_0_8
> but this usage is inside a bit of code that's compiled even when
> that is not defined.)

Pino, would you be OK with dropping that piece of code for pre-0.8 and
just replacing it with the else-error_setg()?

Max


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-06-21 13:23 Max Reitz
@ 2019-06-23 17:18 ` Peter Maydell
  2019-06-24 12:20   ` Max Reitz
  0 siblings, 1 reply; 31+ messages in thread
From: Peter Maydell @ 2019-06-23 17:18 UTC (permalink / raw)
  To: Max Reitz; +Cc: Kevin Wolf, QEMU Developers, Qemu-block

On Fri, 21 Jun 2019 at 14:23, Max Reitz <mreitz@redhat.com> wrote:
>
> The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:
>
>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)
>
> are available in the Git repository at:
>
>   https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21
>
> for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:
>
>   iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)
>
> ----------------------------------------------------------------
> Block patches:
> - The SSH block driver now uses libssh instead of libssh2
> - The VMDK block driver gets read-only support for the seSparse
>   subformat
> - Various fixes
>

Hi; this failed to build on my s390 box:

/home/linux1/qemu/block/ssh.c: In function ‘check_host_key_knownhosts’:
/home/linux1/qemu/block/ssh.c:367:27: error: implicit declaration of
function ‘ssh_get_fingerprint_hash’
[-Werror=implicit-function-declaration]
             fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
                           ^
/home/linux1/qemu/block/ssh.c:367:13: error: nested extern declaration
of ‘ssh_get_fingerprint_hash’ [-Werror=nested-externs]
             fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
             ^
/home/linux1/qemu/block/ssh.c:367:25: error: assignment makes pointer
from integer without a cast [-Werror=int-conversion]
             fingerprint = ssh_get_fingerprint_hash(SSH_PUBLICKEY_HASH_SHA1,
                         ^

It looks like that function was introduced in libssh 0.8.3, and this box
has 0.6.3. (configure has correctly not defined HAVE_LIBSSH_0_8
but this usage is inside a bit of code that's compiled even when
that is not defined.)

thanks
-- PMM


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2019-06-21 13:23 Max Reitz
  2019-06-23 17:18 ` Peter Maydell
  0 siblings, 1 reply; 31+ messages in thread
From: Max Reitz @ 2019-06-21 13:23 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, Peter Maydell, qemu-devel, Max Reitz

The following changes since commit 33d609990621dea6c7d056c86f707b8811320ac1:

  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2019-06-18 17:00:52 +0100)

are available in the Git repository at:

  https://github.com/XanClic/qemu.git tags/pull-block-2019-06-21

for you to fetch changes up to e2a76186f7948b8b75d1b2b52638de7c2f7f7472:

  iotests: Fix 205 for concurrent runs (2019-06-21 14:40:28 +0200)

----------------------------------------------------------------
Block patches:
- The SSH block driver now uses libssh instead of libssh2
- The VMDK block driver gets read-only support for the seSparse
  subformat
- Various fixes

----------------------------------------------------------------
Anton Nefedov (1):
  iotest 134: test cluster-misaligned encrypted write

Klaus Birkelund Jensen (1):
  nvme: do not advertise support for unsupported arbitration mechanism

Max Reitz (1):
  iotests: Fix 205 for concurrent runs

Pino Toscano (1):
  ssh: switch from libssh2 to libssh

Sam Eiderman (3):
  vmdk: Fix comment regarding max l1_size coverage
  vmdk: Reduce the max bound for L1 table size
  vmdk: Add read-only support for seSparse snapshots

Vladimir Sementsov-Ogievskiy (1):
  blockdev: enable non-root nodes for transaction drive-backup source

 configure                                     |  65 +-
 block/Makefile.objs                           |   6 +-
 block/ssh.c                                   | 673 ++++++++++--------
 block/vmdk.c                                  | 372 +++++++++-
 blockdev.c                                    |   2 +-
 hw/block/nvme.c                               |   1 -
 .travis.yml                                   |   4 +-
 block/trace-events                            |  14 +-
 docs/qemu-block-drivers.texi                  |   2 +-
 .../dockerfiles/debian-win32-cross.docker     |   1 -
 .../dockerfiles/debian-win64-cross.docker     |   1 -
 tests/docker/dockerfiles/fedora.docker        |   4 +-
 tests/docker/dockerfiles/ubuntu.docker        |   2 +-
 tests/docker/dockerfiles/ubuntu1804.docker    |   2 +-
 tests/qemu-iotests/059.out                    |   2 +-
 tests/qemu-iotests/134                        |   9 +
 tests/qemu-iotests/134.out                    |  10 +
 tests/qemu-iotests/205                        |   2 +-
 tests/qemu-iotests/207                        |  54 +-
 tests/qemu-iotests/207.out                    |   2 +-
 20 files changed, 844 insertions(+), 384 deletions(-)

-- 
2.21.0



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2019-05-10 13:02 Stefan Hajnoczi
@ 2019-05-10 14:24 ` Peter Maydell
  0 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2019-05-10 14:24 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Fam Zheng, Kevin Wolf, Qemu-block, QEMU Developers, Max Reitz,
	Paolo Bonzini

On Fri, 10 May 2019 at 14:02, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> The following changes since commit 812b835fb4d23dd108b2f9802158472d50b73579:
>
>   Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2019-05-07' into staging (2019-05-09 16:31:12 +0100)
>
> are available in the Git repository at:
>
>   https://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to e84125761f78919fe63616d9888ea45e72dc956f:
>
>   docs: add Security chapter to the documentation (2019-05-10 10:53:52 +0100)
>
> ----------------------------------------------------------------
> Pull request
>
> ----------------------------------------------------------------



Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/4.1
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2019-05-10 13:02 Stefan Hajnoczi
  2019-05-10 14:24 ` Peter Maydell
  0 siblings, 1 reply; 31+ messages in thread
From: Stefan Hajnoczi @ 2019-05-10 13:02 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Peter Maydell, qemu-block, Max Reitz, Stefan Hajnoczi,
	Paolo Bonzini, Kevin Wolf

The following changes since commit 812b835fb4d23dd108b2f9802158472d50b73579:

  Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2019-05-07' into staging (2019-05-09 16:31:12 +0100)

are available in the Git repository at:

  https://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to e84125761f78919fe63616d9888ea45e72dc956f:

  docs: add Security chapter to the documentation (2019-05-10 10:53:52 +0100)

----------------------------------------------------------------
Pull request

----------------------------------------------------------------

Andrey Shinkevich (1):
  block/io.c: fix for the allocation failure

Jules Irenge (3):
  util/readline: add a space to fix errors by checkpatch tool
  util: readline: replace tab indent by four spaces to fix checkpatch
    errors
  util/readline: Add braces to fix checkpatch errors

Nikita Alekseev (1):
  block: Add coroutine_fn to bdrv_check_co_entry

Paolo Bonzini (1):
  aio-posix: ensure poll mode is left when aio_notify is called

Stefan Hajnoczi (2):
  docs: add Secure Coding Practices to developer docs
  docs: add Security chapter to the documentation

 Makefile                               |   2 +-
 block.c                                |   2 +-
 block/io.c                             |   2 +-
 util/aio-posix.c                       |  12 +-
 util/readline.c                        | 174 ++++++++++++++-----------
 docs/devel/index.rst                   |   1 +
 docs/devel/secure-coding-practices.rst | 106 +++++++++++++++
 docs/security.texi                     | 131 +++++++++++++++++++
 qemu-doc.texi                          |   3 +
 9 files changed, 347 insertions(+), 86 deletions(-)
 create mode 100644 docs/devel/secure-coding-practices.rst
 create mode 100644 docs/security.texi

-- 
2.21.0



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2018-05-12  9:28 Stefan Hajnoczi
  2018-05-12  9:42 ` no-reply
  2018-05-14 13:15 ` Peter Maydell
@ 2018-05-14 17:53 ` Peter Maydell
  2 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2018-05-14 17:53 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Qemu-block

On 12 May 2018 at 10:28, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit e5cd695266c5709308aa95b1baae499e4b5d4544:
>
>   Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2018-05-08 17:05:58 +0100)
>
> are available in the Git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to 31be8a2a97ecba7d31a82932286489cac318e9e9:
>
>   block/file-posix: add x-check-page-cache=on|off option (2018-05-11 16:43:05 +0100)
>
> ----------------------------------------------------------------
> Block pull request
>
>  * Support -drive cache.direct=off live migration for POSIX files
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2018-05-14 13:15 ` Peter Maydell
@ 2018-05-14 16:02   ` Peter Maydell
  0 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2018-05-14 16:02 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Qemu-block

On 14 May 2018 at 14:15, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 12 May 2018 at 10:28, Stefan Hajnoczi <stefanha@redhat.com> wrote:
>> The following changes since commit e5cd695266c5709308aa95b1baae499e4b5d4544:
>>
>>   Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2018-05-08 17:05:58 +0100)
>>
>> are available in the Git repository at:
>>
>>   git://github.com/stefanha/qemu.git tags/block-pull-request
>>
>> for you to fetch changes up to 31be8a2a97ecba7d31a82932286489cac318e9e9:
>>
>>   block/file-posix: add x-check-page-cache=on|off option (2018-05-11 16:43:05 +0100)
>>
>> ----------------------------------------------------------------
>> Block pull request
>>
>>  * Support -drive cache.direct=off live migration for POSIX files
>>
>> ----------------------------------------------------------------
>
> With this I get test failures for x86-64 Linux host (debug enabled):
>
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> gtester -k --verbose -m=quick tests/test-replication
> TEST: tests/test-replication... (pid=15016)
>   /replication/primary/read:                                           OK
>   /replication/primary/write:                                          OK
>   /replication/primary/start:                                          OK
>   /replication/primary/stop:                                           OK
>   /replication/primary/do_checkpoint:                                  OK
>   /replication/primary/get_error_all:                                  OK
>   /replication/secondary/read:                                         **
> ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
> assertion failed: (async_ret == 0)
> FAIL
> GTester: last random seed: R02Sf99d81651223b2fcdd0d7d601245eba3
> (pid=15131)
>   /replication/secondary/write:                                        OK
>   /replication/secondary/start:                                        **
> ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
> assertion failed: (async_ret == 0)
> FAIL

Sorry, this is a false alarm -- this test fails in this obscure way if the
system has run out of disk space and the write returns ENOSPC.

Ideally we should fix the test to print the errno. In the meantime I've
deleted some large log files and will retest the pull :-)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2018-05-12  9:28 Stefan Hajnoczi
  2018-05-12  9:42 ` no-reply
@ 2018-05-14 13:15 ` Peter Maydell
  2018-05-14 16:02   ` Peter Maydell
  2018-05-14 17:53 ` Peter Maydell
  2 siblings, 1 reply; 31+ messages in thread
From: Peter Maydell @ 2018-05-14 13:15 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers, Qemu-block

On 12 May 2018 at 10:28, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit e5cd695266c5709308aa95b1baae499e4b5d4544:
>
>   Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2018-05-08 17:05:58 +0100)
>
> are available in the Git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to 31be8a2a97ecba7d31a82932286489cac318e9e9:
>
>   block/file-posix: add x-check-page-cache=on|off option (2018-05-11 16:43:05 +0100)
>
> ----------------------------------------------------------------
> Block pull request
>
>  * Support -drive cache.direct=off live migration for POSIX files
>
> ----------------------------------------------------------------

With this I get test failures for x86-64 Linux host (debug enabled):

MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
gtester -k --verbose -m=quick tests/test-replication
TEST: tests/test-replication... (pid=15016)
  /replication/primary/read:                                           OK
  /replication/primary/write:                                          OK
  /replication/primary/start:                                          OK
  /replication/primary/stop:                                           OK
  /replication/primary/do_checkpoint:                                  OK
  /replication/primary/get_error_all:                                  OK
  /replication/secondary/read:                                         **
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
assertion failed: (async_ret == 0)
FAIL
GTester: last random seed: R02Sf99d81651223b2fcdd0d7d601245eba3
(pid=15131)
  /replication/secondary/write:                                        OK
  /replication/secondary/start:                                        **
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
assertion failed: (async_ret == 0)
FAIL
GTester: last random seed: R02S3e753c59c58d385aa2ea07c974c2e384
(pid=15309)
  /replication/secondary/stop:                                         **
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
assertion failed: (async_ret == 0)
FAIL
GTester: last random seed: R02Sb6a8459edfa78efa369da3920846afa7
(pid=15439)
  /replication/secondary/do_checkpoint:                                **
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/test-replication.c:119:test_blk_write:
assertion failed: (async_ret == 0)
FAIL
GTester: last random seed: R02S4b2e6aa4e33bba4c5bdea0b9073ee966
(pid=15580)
  /replication/secondary/get_error_all:                                OK
FAIL: tests/test-replication
/home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:892:
recipe for target 'check-tests/test-replication' failed


thanks
-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2018-05-12  9:28 Stefan Hajnoczi
@ 2018-05-12  9:42 ` no-reply
  2018-05-14 13:15 ` Peter Maydell
  2018-05-14 17:53 ` Peter Maydell
  2 siblings, 0 replies; 31+ messages in thread
From: no-reply @ 2018-05-12  9:42 UTC (permalink / raw)
  To: stefanha; +Cc: famz, qemu-devel, peter.maydell, qemu-block

Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20180512092824.13848-1-stefanha@redhat.com
Subject: [Qemu-devel] [PULL 0/8] Block patches

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]               patchew/20180512092824.13848-1-stefanha@redhat.com -> patchew/20180512092824.13848-1-stefanha@redhat.com
 t [tag update]            patchew/cover.1526081108.git.alistair.francis@wdc.com -> patchew/cover.1526081108.git.alistair.francis@wdc.com
Switched to a new branch 'test'
a35067253e block/file-posix: add x-check-page-cache=on|off option
c6c991d81f block/file-posix: implement bdrv_co_invalidate_cache() on Linux
3b9d04939d checkpatch: reduce MAINTAINERS update message frequency
92c27dd7e6 checkpatch: emit a warning on file add/move/delete
82e1381f3f checkpatch: ignore email headers better
63d8deac11 checkpatch: check utf-8 content from a commit log when it's missing from charset
7ecaae4f83 checkpatch: add a --strict check for utf-8 in commit logs
ca525fa2f4 blockjob: drop block_job_pause/resume_all()

=== OUTPUT BEGIN ===
Checking PATCH 1/8: blockjob: drop block_job_pause/resume_all()...
Checking PATCH 2/8: checkpatch: add a --strict check for utf-8 in commit logs...
WARNING: line over 80 characters
#109: FILE: scripts/checkpatch.pl:1420:
+			WARN("8-bit UTF-8 used in possible commit log\n" . $herecurr);

total: 0 errors, 1 warnings, 66 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 3/8: checkpatch: check utf-8 content from a commit log when it's missing from charset...
Checking PATCH 4/8: checkpatch: ignore email headers better...
Checking PATCH 5/8: checkpatch: emit a warning on file add/move/delete...
WARNING: line over 80 characters
#51: FILE: scripts/checkpatch.pl:1397:
+		     ($line =~ /\{\s*([\w\/\.\-]*)\s*\=\>\s*([\w\/\.\-]*)\s*\}/ &&

ERROR: line over 90 characters
#54: FILE: scripts/checkpatch.pl:1400:
+			WARN("added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr);

total: 1 errors, 1 warnings, 24 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 6/8: checkpatch: reduce MAINTAINERS update message frequency...
Checking PATCH 7/8: block/file-posix: implement bdrv_co_invalidate_cache() on Linux...
WARNING: architecture specific defines should be avoided
#52: FILE: block/file-posix.c:2255:
+#if defined(__linux__)

total: 0 errors, 1 warnings, 70 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 8/8: block/file-posix: add x-check-page-cache=on|off option...
WARNING: line over 80 characters
#47: FILE: block/file-posix.c:423:
+            .help = "check that page cache was dropped on live migration (default: off)"

WARNING: architecture specific defines should be avoided
#120: FILE: block/file-posix.c:2264:
+#if defined(__linux__)

total: 0 errors, 2 warnings, 185 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2018-05-12  9:28 Stefan Hajnoczi
  2018-05-12  9:42 ` no-reply
                   ` (2 more replies)
  0 siblings, 3 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2018-05-12  9:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-block, Peter Maydell

The following changes since commit e5cd695266c5709308aa95b1baae499e4b5d4544:

  Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging (2018-05-08 17:05:58 +0100)

are available in the Git repository at:

  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to 31be8a2a97ecba7d31a82932286489cac318e9e9:

  block/file-posix: add x-check-page-cache=on|off option (2018-05-11 16:43:05 +0100)

----------------------------------------------------------------
Block pull request

 * Support -drive cache.direct=off live migration for POSIX files

----------------------------------------------------------------

Joe Perches (4):
  checkpatch: add a --strict check for utf-8 in commit logs
  checkpatch: ignore email headers better
  checkpatch: emit a warning on file add/move/delete
  checkpatch: reduce MAINTAINERS update message frequency

Pasi Savanainen (1):
  checkpatch: check utf-8 content from a commit log when it's missing
    from charset

Stefan Hajnoczi (3):
  blockjob: drop block_job_pause/resume_all()
  block/file-posix: implement bdrv_co_invalidate_cache() on Linux
  block/file-posix: add x-check-page-cache=on|off option

 qapi/block-core.json         |   7 +-
 include/block/blockjob_int.h |  14 ----
 block/file-posix.c           | 146 ++++++++++++++++++++++++++++++++++-
 blockjob.c                   |  27 -------
 scripts/checkpatch.pl        |  56 +++++++++++++-
 5 files changed, 202 insertions(+), 48 deletions(-)

-- 
2.17.0

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2016-07-18 16:59 Stefan Hajnoczi
@ 2016-07-19  8:01 ` Peter Maydell
  0 siblings, 0 replies; 31+ messages in thread
From: Peter Maydell @ 2016-07-19  8:01 UTC (permalink / raw)
  To: Stefan Hajnoczi; +Cc: QEMU Developers

On 18 July 2016 at 17:59, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> The following changes since commit 3913d3707e3debfbf0d2d014a1a793394993b088:
>
>   Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160718' into staging (2016-07-18 11:24:15 +0100)
>
> are available in the git repository at:
>
>   git://github.com/stefanha/qemu.git tags/block-pull-request
>
> for you to fetch changes up to e1029ae26d96d5de78c2d9af5eddcea92e73a46a:
>
>   MAINTAINERS: Add include/block/aio.h to block I/O path section (2016-07-18 15:10:52 +0100)
>
> ----------------------------------------------------------------
>
> This is not quite a v2 because I have added more patches.  "linux-aio: share
> one LinuxAioState within an AioContext" is now fixed under mingw.
>
> ----------------------------------------------------------------

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2016-07-18 16:59 Stefan Hajnoczi
  2016-07-19  8:01 ` Peter Maydell
  0 siblings, 1 reply; 31+ messages in thread
From: Stefan Hajnoczi @ 2016-07-18 16:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi

The following changes since commit 3913d3707e3debfbf0d2d014a1a793394993b088:

  Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160718' into staging (2016-07-18 11:24:15 +0100)

are available in the git repository at:

  git://github.com/stefanha/qemu.git tags/block-pull-request

for you to fetch changes up to e1029ae26d96d5de78c2d9af5eddcea92e73a46a:

  MAINTAINERS: Add include/block/aio.h to block I/O path section (2016-07-18 15:10:52 +0100)

----------------------------------------------------------------

This is not quite a v2 because I have added more patches.  "linux-aio: share
one LinuxAioState within an AioContext" is now fixed under mingw.

----------------------------------------------------------------

Cao jin (3):
  aio_ctx_check: follow CODING_STYLE
  aio-posix: remove useless parameter
  virtio-blk: dataplane cleanup

Fam Zheng (1):
  MAINTAINERS: Add include/block/aio.h to block I/O path section

Paolo Bonzini (1):
  linux-aio: share one LinuxAioState within an AioContext

Roman Pen (1):
  linux-aio: prevent submitting more than MAX_EVENTS

Stefan Hajnoczi (1):
  checkpatch: consider git extended headers valid patches

Vladimir Sementsov-Ogievskiy (1):
  spec/parallels: fix a mistake

 MAINTAINERS                     |   1 +
 aio-posix.c                     |   3 +-
 aio-win32.c                     |   2 +-
 async.c                         |  33 ++++++++---
 block/linux-aio.c               |  36 +++++++-----
 block/raw-aio.h                 |  68 -----------------------
 block/raw-posix.c               | 119 +++++-----------------------------------
 block/raw-win32.c               |   2 +-
 block/win32-aio.c               |   2 +-
 docs/specs/parallels.txt        |   2 +-
 hw/block/dataplane/virtio-blk.c |   6 +-
 include/block/aio.h             |  15 ++++-
 include/block/raw-aio.h         |  68 +++++++++++++++++++++++
 scripts/checkpatch.pl           |   5 ++
 14 files changed, 158 insertions(+), 204 deletions(-)
 delete mode 100644 block/raw-aio.h
 create mode 100644 include/block/raw-aio.h

-- 
2.7.4

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2013-10-07 11:28 Stefan Hajnoczi
  0 siblings, 0 replies; 31+ messages in thread
From: Stefan Hajnoczi @ 2013-10-07 11:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: Stefan Hajnoczi, Anthony Liguori

The following changes since commit a684f3cf9b9b9c3cb82be87aafc463de8974610c:

  Merge remote-tracking branch 'kraxel/seabios-1.7.3.2' into staging (2013-09-30 17:15:27 -0500)

are available in the git repository at:


  git://github.com/stefanha/qemu.git block

for you to fetch changes up to d4cea8dfb99153803164915c7a1109549ad3da9c:

  block: use correct filename (2013-10-07 13:23:19 +0200)

----------------------------------------------------------------
Dunrong Huang (2):
      block: use correct filename for error report
      block: use correct filename

Jeff Cody (1):
      block: vhdx - add migration blocker

Max Reitz (5):
      qcow2: Correct endianness in overlap check
      qcow2: CHECK_OFLAG_COPIED is obsolete
      qcow2: Switch L1 table in a single sequence
      qcow2: Free allocated L2 cluster on error
      qemu-iotests: Correct 026 output

 block.c                            |  8 ++++----
 block/qcow2-cluster.c              | 11 +++++++++--
 block/qcow2-refcount.c             |  8 +++-----
 block/vhdx.c                       | 10 ++++++++++
 tests/qemu-iotests/026.out         | 32 ++++++++------------------------
 tests/qemu-iotests/026.out.nocache | 32 ++++++++------------------------
 6 files changed, 42 insertions(+), 59 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2013-07-15 11:16 Kevin Wolf
  0 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2013-07-15 11:16 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

The following changes since commit c3cb8e77804313e1be99b5f28a34a346736707a5:

  ioport: remove LITTLE_ENDIAN mark for portio (2013-07-12 14:37:47 -0500)

are available in the git repository at:

  git://repo.or.cz/qemu/kevin.git for-anthony

for you to fetch changes up to a62eaa26c1d6d48fbdc3ac1d32bd1314f5fdc8c9:

  ahci: Fix FLUSH command (2013-07-15 11:53:55 +0200)

----------------------------------------------------------------
Kevin Wolf (6):
      block: Don't parse protocol from file.filename
      qemu-iotests: Update 051 reference output
      block: Add return value for bdrv_flush_all()
      cpus: Add return value for vm_stop()
      migration: Fail migration on bdrv_flush_all() error
      ahci: Fix FLUSH command

Stefan Hajnoczi (2):
      blockdev: add sync mode to drive-backup QMP command
      block: add drive_backup HMP command

 block.c                          |  27 ++++++---
 block/sheepdog.c                 |   2 +-
 blockdev.c                       |   6 ++
 cpus.c                           |  20 ++++---
 hmp-commands.hx                  |  20 +++++++
 hmp.c                            |  28 +++++++++
 hmp.h                            |   1 +
 hw/ide/ahci.c                    |   8 ++-
 hw/ide/core.c                    |   9 +++
 hw/ide/internal.h                |   1 +
 include/block/block.h            |   5 +-
 include/sysemu/sysemu.h          |   4 +-
 migration.c                      |  17 +++++-
 qapi-schema.json                 |   7 ++-
 qemu-img.c                       |   4 +-
 qmp-commands.hx                  |   6 +-
 stubs/vm-stop.c                  |   2 +-
 tests/qemu-iotests/051           |  12 ++++
 tests/qemu-iotests/051.out       | 121 ++++++++++++++++++++++++++++-----------
 tests/qemu-iotests/055           |  36 +++++++-----
 tests/qemu-iotests/common.filter |   2 +-
 21 files changed, 262 insertions(+), 76 deletions(-)

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2013-04-05 13:28 Kevin Wolf
  0 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2013-04-05 13:28 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

The following changes since commit 162cbbd1736de2bca43fdefa7e98c54a361ee60d:

  Merge remote-tracking branch 'luiz/queue/qmp' into staging (2013-04-02 14:07:35 -0500)

are available in the git repository at:


  git://repo.or.cz/qemu/kevin.git for-anthony

for you to fetch changes up to 094e751448359417c712ed1395d151c79ccd2538:

  qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount (2013-04-05 13:17:49 +0200)

----------------------------------------------------------------
KONRAD Frederic (1):
      virtio-blk-x: fix configuration synchronization.

Kevin Wolf (3):
      usb-storage: Forward serial number to scsi-disk
      qcow2: Return real error in qcow2_update_snapshot_refcount
      qcow2: Fix L1 write error handling in qcow2_update_snapshot_refcount

Stefan Hajnoczi (4):
      block: fix I/O throttling accounting blind spot
      block: keep I/O throttling slice time constant
      block: drop duplicated slice extension code
      block: clean up I/O throttling wait_time code

 block.c                    | 49 +++++++++++++++++++++-------------------------
 block/qcow2-refcount.c     | 25 +++++++++++------------
 blockdev.c                 |  1 -
 hw/pci/pci-hotplug.c       |  2 +-
 hw/s390x/s390-virtio-bus.c |  4 ++--
 hw/s390x/s390-virtio-bus.h |  1 -
 hw/s390x/virtio-ccw.c      |  4 ++--
 hw/s390x/virtio-ccw.h      |  1 -
 hw/scsi-bus.c              |  8 ++++++--
 hw/scsi.h                  |  3 ++-
 hw/usb/dev-storage.c       |  2 +-
 hw/virtio-blk.c            |  7 -------
 hw/virtio-blk.h            |  2 --
 hw/virtio-pci.c            |  7 ++++---
 hw/virtio-pci.h            |  1 -
 include/block/block_int.h  |  3 +--
 16 files changed, 54 insertions(+), 66 deletions(-)

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2011-07-06 14:21 Kevin Wolf
  2011-07-12  9:14 ` Kevin Wolf
@ 2011-07-12 13:16 ` Anthony Liguori
  1 sibling, 0 replies; 31+ messages in thread
From: Anthony Liguori @ 2011-07-12 13:16 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: qemu-devel

On 07/06/2011 09:21 AM, Kevin Wolf wrote:
> The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:
>
>    pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)

Pulled.  Thanks.

Regards,

Anthony Liguori

>
> are available in the git repository at:
>    git://repo.or.cz/qemu/kevin.git for-anthony
>
> Federico Simoncelli (1):
>        qemu-img: Add cache command line option
>
> Johannes Stezenbach (1):
>        block/raw-posix: Linux compat-ioctl warning workaround
>
> Kevin Wolf (3):
>        Documentation: Remove outdated host_device note
>        ide: Ignore reads during PIO in and writes during PIO out
>        ide: Initialise buffers with zeros
>
> Luiz Capitulino (2):
>        block: drive_init(): Simplify interface type setting
>        block: drive_init(): Improve CHS setting error message
>
> Markus Armbruster (1):
>        virtio-blk: Turn drive serial into a qdev property
>
>   block/raw-posix.c    |   14 +++++++++
>   blockdev.c           |   14 +++-----
>   hw/ide/core.c        |   50 +++++++++++++++++++++++++-----
>   hw/s390-virtio-bus.c |    4 ++-
>   hw/s390-virtio-bus.h |    1 +
>   hw/virtio-blk.c      |   29 ++++++++++++------
>   hw/virtio-blk.h      |    2 +
>   hw/virtio-pci.c      |    4 ++-
>   hw/virtio-pci.h      |    1 +
>   hw/virtio.h          |    3 +-
>   qemu-img-cmds.hx     |    6 ++--
>   qemu-img.c           |   80 +++++++++++++++++++++++++++++++++++++++++--------
>   qemu-img.texi        |    6 ----
>   13 files changed, 161 insertions(+), 53 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [Qemu-devel] [PULL 0/8] Block patches
  2011-07-06 14:21 Kevin Wolf
@ 2011-07-12  9:14 ` Kevin Wolf
  2011-07-12 13:16 ` Anthony Liguori
  1 sibling, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-12  9:14 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: qemu-devel

Am 06.07.2011 16:21, schrieb Kevin Wolf:
> The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:
> 
>   pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)
> 
> are available in the git repository at:
>   git://repo.or.cz/qemu/kevin.git for-anthony
> 
> Federico Simoncelli (1):
>       qemu-img: Add cache command line option
> 
> Johannes Stezenbach (1):
>       block/raw-posix: Linux compat-ioctl warning workaround
> 
> Kevin Wolf (3):
>       Documentation: Remove outdated host_device note
>       ide: Ignore reads during PIO in and writes during PIO out
>       ide: Initialise buffers with zeros
> 
> Luiz Capitulino (2):
>       block: drive_init(): Simplify interface type setting
>       block: drive_init(): Improve CHS setting error message
> 
> Markus Armbruster (1):
>       virtio-blk: Turn drive serial into a qdev property
> 
>  block/raw-posix.c    |   14 +++++++++
>  blockdev.c           |   14 +++-----
>  hw/ide/core.c        |   50 +++++++++++++++++++++++++-----
>  hw/s390-virtio-bus.c |    4 ++-
>  hw/s390-virtio-bus.h |    1 +
>  hw/virtio-blk.c      |   29 ++++++++++++------
>  hw/virtio-blk.h      |    2 +
>  hw/virtio-pci.c      |    4 ++-
>  hw/virtio-pci.h      |    1 +
>  hw/virtio.h          |    3 +-
>  qemu-img-cmds.hx     |    6 ++--
>  qemu-img.c           |   80 +++++++++++++++++++++++++++++++++++++++++--------
>  qemu-img.texi        |    6 ----
>  13 files changed, 161 insertions(+), 53 deletions(-)

Ping?

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2011-07-06 14:21 Kevin Wolf
  2011-07-12  9:14 ` Kevin Wolf
  2011-07-12 13:16 ` Anthony Liguori
  0 siblings, 2 replies; 31+ messages in thread
From: Kevin Wolf @ 2011-07-06 14:21 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:

  pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)

are available in the git repository at:
  git://repo.or.cz/qemu/kevin.git for-anthony

Federico Simoncelli (1):
      qemu-img: Add cache command line option

Johannes Stezenbach (1):
      block/raw-posix: Linux compat-ioctl warning workaround

Kevin Wolf (3):
      Documentation: Remove outdated host_device note
      ide: Ignore reads during PIO in and writes during PIO out
      ide: Initialise buffers with zeros

Luiz Capitulino (2):
      block: drive_init(): Simplify interface type setting
      block: drive_init(): Improve CHS setting error message

Markus Armbruster (1):
      virtio-blk: Turn drive serial into a qdev property

 block/raw-posix.c    |   14 +++++++++
 blockdev.c           |   14 +++-----
 hw/ide/core.c        |   50 +++++++++++++++++++++++++-----
 hw/s390-virtio-bus.c |    4 ++-
 hw/s390-virtio-bus.h |    1 +
 hw/virtio-blk.c      |   29 ++++++++++++------
 hw/virtio-blk.h      |    2 +
 hw/virtio-pci.c      |    4 ++-
 hw/virtio-pci.h      |    1 +
 hw/virtio.h          |    3 +-
 qemu-img-cmds.hx     |    6 ++--
 qemu-img.c           |   80 +++++++++++++++++++++++++++++++++++++++++--------
 qemu-img.texi        |    6 ----
 13 files changed, 161 insertions(+), 53 deletions(-)

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [Qemu-devel] [PULL 0/8] Block patches
@ 2010-05-20 13:10 Kevin Wolf
  0 siblings, 0 replies; 31+ messages in thread
From: Kevin Wolf @ 2010-05-20 13:10 UTC (permalink / raw)
  To: anthony; +Cc: kwolf, qemu-devel

Hi Anthony,

this bunch of patches contains some fixes that I think qualify for stable,
especially the first two. Please cherry-pick them into stable-0.12 when you
have pulled:

468f932 block: fix sector comparism in multiwrite_req_compare
49eb7b7 virtio-blk: fix barrier support
5fdf2a6 block: fix aio_flush segfaults for read-only protocols (e.g. curl)

Kevin


The following changes since commit 5a4bb580cdb10b066f9fd67658b31cac4a4ea5e5:
  Richard Henderson (1):
        target-sparc: Simplify ICC generation.

are available in the git repository at:

  git://repo.or.cz/qemu/kevin.git for-anthony

Avi Kivity (1):
      block: fix aio_flush segfaults for read-only protocols (e.g. curl)

Christoph Hellwig (2):
      virtio-blk: fix barrier support
      block: fix sector comparism in multiwrite_req_compare

Kevin Wolf (1):
      vvfat: More build fixes with DEBUG

Nicholas Bellinger (2):
      block: Make find_image_format() return 'raw' BlockDriver for SG_IO devices
      block: Add SG_IO device check in refresh_total_sectors()

Riccardo Magliocchetti (1):
      vvfat: Fix compilation with DEBUG defined

Stefan Hajnoczi (1):
      virtio-blk: Avoid zeroing every request structure

 aio.c           |    4 +++-
 block.c         |   23 ++++++++++++++++++++++-
 block/vvfat.c   |   10 +++++++---
 hw/virtio-blk.c |   19 ++++++++++++++++---
 4 files changed, 48 insertions(+), 8 deletions(-)

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2019-06-24 14:52 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-31 21:19 [Qemu-devel] [PULL 0/8] Block patches Stefan Hajnoczi
2014-01-31 21:19 ` [Qemu-devel] [PULL 1/8] Describe flaws in qcow/qcow2 encryption in the docs Stefan Hajnoczi
2014-01-31 21:19 ` [Qemu-devel] [PULL 2/8] block: remove QED .bdrv_make_empty implementation Stefan Hajnoczi
2014-01-31 21:19 ` [Qemu-devel] [PULL 3/8] block: remove qcow2 " Stefan Hajnoczi
2014-01-31 21:19 ` [Qemu-devel] [PULL 4/8] block/vmdk: add basic .bdrv_check support Stefan Hajnoczi
2014-01-31 21:19 ` [Qemu-devel] [PULL 5/8] qemu-iotests: Drop assert_no_active_commit in case 040 Stefan Hajnoczi
2014-01-31 21:19 ` [Qemu-devel] [PULL 6/8] block/vhdx: Error checking fixes Stefan Hajnoczi
2014-01-31 21:19 ` [Qemu-devel] [PULL 7/8] dataplane: Comment fix Stefan Hajnoczi
2014-01-31 21:19 ` [Qemu-devel] [PULL 8/8] qemu-iotests: only run 071 on qcow2 Stefan Hajnoczi
2014-02-05 16:38 ` [Qemu-devel] [PULL 0/8] Block patches Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2019-06-21 13:23 Max Reitz
2019-06-23 17:18 ` Peter Maydell
2019-06-24 12:20   ` Max Reitz
2019-06-24 13:15     ` Pino Toscano
2019-06-24 14:49       ` Max Reitz
2019-05-10 13:02 Stefan Hajnoczi
2019-05-10 14:24 ` Peter Maydell
2018-05-12  9:28 Stefan Hajnoczi
2018-05-12  9:42 ` no-reply
2018-05-14 13:15 ` Peter Maydell
2018-05-14 16:02   ` Peter Maydell
2018-05-14 17:53 ` Peter Maydell
2016-07-18 16:59 Stefan Hajnoczi
2016-07-19  8:01 ` Peter Maydell
2013-10-07 11:28 Stefan Hajnoczi
2013-07-15 11:16 Kevin Wolf
2013-04-05 13:28 Kevin Wolf
2011-07-06 14:21 Kevin Wolf
2011-07-12  9:14 ` Kevin Wolf
2011-07-12 13:16 ` Anthony Liguori
2010-05-20 13:10 Kevin Wolf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.