* [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, §ors_written, buffer, - desc_sectors + sectors); + ret = vhdx_log_write_sectors(bs, &s->log, §ors_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
* [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-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
* 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-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-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
* [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 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 @ 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 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
* 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-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 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
* [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
* 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 @ 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
* [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
* 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
* 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
* [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.