Re: [Qemu-block] [Qemu-arm] [Qemu-devel] [PATCH 0/4] qapi/error: converts error_setg(&error_fatal) to error_report() + exit()

2018-06-07 Thread Philippe Mathieu-Daudé
On 06/07/2018 10:48 AM, Markus Armbruster wrote: > Philippe Mathieu-Daudé writes: > >> Hi, >> >> This series converts error_setg(&error_fatal) to error_report() + exit() as >> suggested by the "qapi/error.h" documentation. > > Appreciated! &

Re: [Qemu-block] [Qemu-devel] [RFC 00/13] hw/m68k: add Apple Machintosh Quadra 800 machine

2018-06-08 Thread Philippe Mathieu-Daudé
On 06/08/2018 05:05 PM, Laurent Vivier wrote: > I'm rebasing some of these patches for seven years now, > too many years... > > It's an RFC because things have changed in QEMU in seven years, > for instance the VIA has a new implementation (mos6522) introduced > by Mark Cave-Ayland and I didn't re

Re: [Qemu-block] [Qemu-devel] [RFC 00/13] hw/m68k: add Apple Machintosh Quadra 800 machine

2018-06-09 Thread Philippe Mathieu-Daudé
Hi Laurent, On 06/08/2018 05:05 PM, Laurent Vivier wrote: > if you want to test the machine, I'm sorry, it doesn't boot > a MacROM, but you can boot a linux kernel from the command line. > > You can install your own disk using debian-installer, with: > > ... > -M q800 \ > -serial non

[Qemu-block] [PATCH v4 02/40] vdi: Use definitions from "qemu/units.h"

2018-06-10 Thread Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé --- block/vdi.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/block/vdi.c b/block/vdi.c index 668af0a828..35b51dc5c5 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -50,6 +50,7 @@ */ #include "qemu/osdep.h" +#inc

[Qemu-block] [PATCH v4 00/40] Use the IEC binary prefix definitions

2018-06-10 Thread Philippe Mathieu-Daudé
Thomas Huth) - more constant replaced Since v1: - corrected Xen mult -> div (Alan Robinson) - tagged 'include "qemu/cunits.h" in "hw/hw.h" as RFC - fixed mips_r4k 'params_size' (Thomas Huth) - added command used to generate patch in each commit (Alistair Franci

[Qemu-block] [PATCH v4 13/40] hw/block: Use the IEC binary prefix definitions

2018-06-10 Thread Philippe Mathieu-Daudé
It eases code review, unit is explicit. Patch generated using: $ git grep -E '(1024|2048|4096|8192|(<<|>>).?(10|20|30))' hw/ include/hw/ and modified manually. Signed-off-by: Philippe Mathieu-Daudé --- hw/block/m25p80.c | 5 +++-- hw/block/nvme.c| 3 ++- hw/bloc

[Qemu-block] [PATCH v4 11/40] hw/xen: Use the IEC binary prefix definitions

2018-06-10 Thread Philippe Mathieu-Daudé
It eases code review, unit is explicit. Patch generated using: $ git grep -E '(1024|2048|4096|8192|(<<|>>).?(10|20|30))' hw/ include/hw/ and modified manually. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alan Robinson --- hw/block/xen_disk.c| 5

Re: [Qemu-block] [Qemu-arm] [PATCH v4 00/40] Use the IEC binary prefix definitions

2018-06-10 Thread Philippe Mathieu-Daudé
On 06/10/2018 11:22 PM, Michael S. Tsirkin wrote: > On Sun, Jun 10, 2018 at 10:14:21PM -0300, Philippe Mathieu-Daudé wrote: >> Hi, >> >> This series: >> >> - split the byte-based definitions from "qemu/cutils.h" to "qemu/units.h" >> (thi

Re: [Qemu-block] [Qemu-devel] [PATCH 3/6] hw/block/pflash_cfi02: Convert away from old_mmio

2018-06-11 Thread Philippe Mathieu-Daudé
On 06/01/2018 11:12 AM, Peter Maydell wrote: > Convert the pflash_cfi02 device away from using the old_mmio field > of MemoryRegionOps. > > Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé > --- > hw/block/pflash_cfi02.c | 97

Re: [Qemu-block] [Qemu-devel] [PATCH 6/6] hw/char/parallel: Convert away from old_mmio

2018-06-11 Thread Philippe Mathieu-Daudé
off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé > --- > hw/char/parallel.c | 50 ++ > 1 file changed, 11 insertions(+), 39 deletions(-) > > diff --git a/hw/char/parallel.c b/hw/char/parallel.c > index 1542d62201..35748e6

Re: [Qemu-block] [Qemu-devel] [PATCH 5/6] hw/input/pckbd: Convert away from old_mmio

2018-06-11 Thread Philippe Mathieu-Daudé
s 'magnum' and 'pica61'. > > Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé > --- > hw/input/pckbd.c | 14 -- > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/hw/input/pckbd.c b/hw/input/pckbd.c > index f17f1

Re: [Qemu-block] [Qemu-devel] [PATCH v2] util/async: avoid NULL pointer dereference

2018-06-11 Thread Philippe Mathieu-Daudé
Hi Jie, On 06/11/2018 09:42 AM, Jie Wang wrote: > if laio_init create linux_aio failed and return NULL, NULL pointer > dereference will occur when laio_attach_aio_context dereference > linux_aio in aio_get_linux_aio. Let's avoid it and report error. > > Signed-off-by: Jie Wang > --- > block/fil

Re: [Qemu-block] [Qemu-devel] [PATCH 1/6] hw/sh/sh7750: Convert away from old_mmio

2018-06-11 Thread Philippe Mathieu-Daudé
On 06/01/2018 11:12 AM, Peter Maydell wrote: > Convert the sh7750 device away from using the old_mmio field > of MemoryRegionOps. This device is used by the sh4 r2d board. > > Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé > --- > hw

Re: [Qemu-block] [Qemu-devel] [PATCH 4/6] hw/watchdog/wdt_i6300esb: Convert away from old_mmio

2018-06-11 Thread Philippe Mathieu-Daudé
On 06/01/2018 11:12 AM, Peter Maydell wrote: > Convert the wdt_i6300esb device away from using the old_mmio field > of MemoryRegionOps. > > Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daudé > --- > hw/watchdog/wdt_i6300esb.c | 48 +

Re: [Qemu-block] [Qemu-devel] [PATCH 03/15] sheepdog: Fix error handling sd_create()

2017-03-02 Thread Philippe Mathieu-Daudé
elsewhere, instead of -EIO. No functional change, as connect_to_sdog() returns no other error code. Many more suspicious uses of error_report() and error_report_err() remain in other functions. Left for another day. Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daudé --- block

Re: [Qemu-block] [Qemu-devel] [PATCH 06/15] sheepdog: Don't truncate long VDI name in _open(), _create()

2017-03-02 Thread Philippe Mathieu-Daudé
On 03/02/2017 06:43 PM, Markus Armbruster wrote: sd_parse_uri() truncates long VDI names silently. Reject them instead. Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daudé --- block/sheepdog.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/block

Re: [Qemu-block] [Qemu-devel] [PATCH 06/15] sheepdog: Don't truncate long VDI name in _open(), _create()

2017-03-02 Thread Philippe Mathieu-Daudé
On 03/02/2017 08:32 PM, Eric Blake wrote: On 03/02/2017 03:43 PM, Markus Armbruster wrote: sd_parse_uri() truncates long VDI names silently. Reject them instead. Signed-off-by: Markus Armbruster --- block/sheepdog.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/block

Re: [Qemu-block] [Qemu-devel] [PATCH] block: Constify data passed by pointer to blk_name

2017-03-05 Thread Philippe Mathieu-Daudé
On 03/05/2017 06:44 PM, Krzysztof Kozlowski wrote: blk_name() is not modifying data passed to it through pointer and it returns also a pointer to const so the argument can be made const for code safeness. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Philippe Mathieu-Daudé --- block

Re: [Qemu-block] [Qemu-devel] [PATCH 01/10] commit: Fix error handling

2017-03-06 Thread Philippe Mathieu-Daudé
Mathieu-Daudé --- block/commit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/commit.c b/block/commit.c index 22a0a4d..e57c1cf 100644 --- a/block/commit.c +++ b/block/commit.c @@ -364,7 +364,7 @@ void commit_start(const char *job_id, BlockDriverState *bs

Re: [Qemu-block] [Qemu-devel] [PATCH 06/10] block: Factor out should_update_child()

2017-03-07 Thread Philippe Mathieu-Daudé
; Reviewed-by: Eric Blake Reviewed-by: Philippe Mathieu-Daudé > > -- > Eric Blake eblake redhat com+1-919-301-3266 > Libvirt virtualization library http://libvirt.org >

Re: [Qemu-block] [Qemu-devel] [PATCH for-2.9] block/archipelago: Make it compile

2017-03-08 Thread Philippe Mathieu-Daudé
-by: Philippe Mathieu-Daudé Does this mean our automated buildbots aren't building archipelago by default? diff --git a/block/archipelago.c b/block/archipelago.c index 2449cfc702..01c4ff2f7d 100644 --- a/block/archipelago.c +++ b/block/archipelago.c @@ -55,6 +55,7 @@ #include &

Re: [Qemu-block] [Qemu-devel] [PATCH v2 2/3] qemu-img: fix switch indentation in img_amend()

2017-03-17 Thread Philippe Mathieu-Daudé
n Hajnoczi Reviewed-by: Philippe Mathieu-Daudé --- qemu-img.c | 82 +++--- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index ce293a4..c7ffabb 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -3500,

Re: [Qemu-block] [Qemu-devel] [PATCH] curl: fix compilation on OpenBSD

2017-03-17 Thread Philippe Mathieu-Daudé
On 03/17/2017 12:24 PM, Paolo Bonzini wrote: EPROTO is not found in OpenBSD. We usually use EIO when no better errno is available, do that here too. Reported-by: Peter Maydell Signed-off-by: Paolo Bonzini Reviewed-by: Philippe Mathieu-Daudé --- block/curl.c | 2 +- 1 file changed, 1

Re: [Qemu-block] [Qemu-devel] [PATCH for-2.9?] block/file-posix.c: Fix unused variable warning on OpenBSD

2017-03-22 Thread Philippe Mathieu-Daudé
On 03/22/2017 01:23 PM, Philippe Mathieu-Daudé wrote: On 03/22/2017 10:58 AM, Jeff Cody wrote: On Mon, Mar 20, 2017 at 06:33:04PM +, Peter Maydell wrote: On OpenBSD none of the ioctls probe_logical_blocksize() tries exist, so the variable sector_size is unused. Refactor the code to avoid

Re: [Qemu-block] [Qemu-devel] [PATCH for-2.9?] block/file-posix.c: Fix unused variable warning on OpenBSD

2017-03-22 Thread Philippe Mathieu-Daudé
success = true; +} +} return success ? 0 : -errno; } -- 2.7.4 Reviewed-by: Jeff Cody Reviewed-by: Philippe Mathieu-Daudé

Re: [Qemu-block] [Qemu-devel] [PATCH] block/parallels.c: avoid integer overflow in allocate_clusters()

2017-03-31 Thread Philippe Mathieu-Daudé
wed-by: Philippe Mathieu-Daudé --- NB: compile-and-make-check tested only... --- block/parallels.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/parallels.c b/block/parallels.c index 4173b3f..3886c30 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -206,7 +206,7 @@

Re: [Qemu-block] [Qemu-devel] [PATCH for-2.9 2/2] block/curl: Check protocol prefix

2017-03-31 Thread Philippe Mathieu-Daudé
Reitz Reviewed-by: Philippe Mathieu-Daudé --- block/curl.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/block/curl.c b/block/curl.c index 34dbd335f4..2708d57c2f 100644 --- a/block/curl.c +++ b/block/curl.c @@ -659,6 +659,7 @@ static int curl_open(BlockDriverState *bs, QDict *op

Re: [Qemu-block] [Qemu-devel] [PATCH for-2.9] block/parallels: Avoid overflows

2017-03-31 Thread Philippe Mathieu-Daudé
hen invoking bat_entry_off() does not result in an integer overflow. Coverity-id: 1307776 Signed-off-by: Max Reitz Reviewed-by: Philippe Mathieu-Daudé --- This supercedes Peter's patch "block/parallels.c: avoid integer overflow in allocate_clusters()". --- block/parallels.c | 19

Re: [Qemu-block] [Qemu-devel] [RFC 05/19] pflash_cfi01: Remove user_creatable flag

2017-04-03 Thread Philippe Mathieu-Daudé
uardo Habkost Reviewed-by: Philippe Mathieu-Daudé --- hw/block/pflash_cfi01.c | 5 - 1 file changed, 5 deletions(-) diff --git a/hw/block/pflash_cfi01.c b/hw/block/pflash_cfi01.c index f48dc20035..594d4cf6fe 100644 --- a/hw/block/pflash_cfi01.c +++ b/hw/block/pflash_cfi01.c @@ -927,11 +

Re: [Qemu-block] [Qemu-devel] [PATCH for-2.9 1/2] block/mirror: Fix use-after-free

2017-04-03 Thread Philippe Mathieu-Daudé
it at the end of the fail path after we actually no longer need it. Signed-off-by: Max Reitz Reviewed-by: Philippe Mathieu-Daudé --- block/mirror.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/block/mirror.c b/block/mirror.c index 9e2fecc15e..46ecd38ef0 1

Re: [Qemu-block] [Qemu-devel] [PATCH v2 for-2.10 05/16] block/file-posix: Small fixes in raw_create()

2017-04-03 Thread Philippe Mathieu-Daudé
On 04/03/2017 01:09 PM, Max Reitz wrote: Variables should be declared at the start of a block, and if a certain parameter value is not supported it may be better to return -ENOTSUP instead of -EINVAL. Signed-off-by: Max Reitz Reviewed-by: Stefan Hajnoczi Reviewed-by: Philippe Mathieu-Daudé

Re: [Qemu-block] [Qemu-devel] [PATCH v2 for-2.10 06/16] block/file-posix: Extract raw_regular_truncate()

2017-04-03 Thread Philippe Mathieu-Daudé
On 04/03/2017 01:09 PM, Max Reitz wrote: This functionality is part of raw_create() which we will be able to reuse nicely in raw_truncate(). Signed-off-by: Max Reitz Reviewed-by: Stefan Hajnoczi Reviewed-by: Philippe Mathieu-Daudé --- block/file-posix.c | 144

Re: [Qemu-block] [Qemu-devel] [PATCH v2 for-2.10 07/16] block/file-posix: Generalize raw_regular_truncate

2017-04-03 Thread Philippe Mathieu-Daudé
that if resizing failed, we should try to restore the original file size. This is important when using preallocation. Signed-off-by: Max Reitz Reviewed-by: Philippe Mathieu-Daudé --- block/file-posix.c | 61 -- 1 file changed, 50 insertions

Re: [Qemu-block] [Qemu-devel] [PATCH v2 for-2.10 09/16] block/qcow2: Generalize preallocate()

2017-04-03 Thread Philippe Mathieu-Daudé
Hi Max, On 04/03/2017 01:09 PM, Max Reitz wrote: This patch adds two new parameters to the preallocate() function so we will be able to use it not just for preallocating a new image but also for preallocated image growth. The offset parameter allows the caller to specify a virtual offset from w

Re: [Qemu-block] [Qemu-devel] [PATCH v9 03/13] qemu-io: Switch 'alloc' command to byte-based length

2017-04-10 Thread Philippe Mathieu-Daudé
} } else { -nb_sectors = 1; +bytes = BDRV_SECTOR_SIZE; } +if (bytes & 0x1ff) { This macro is self-explanatory: if(!QEMU_IS_ALIGNED(bytes, BDRV_SECTOR_SIZE)) Reviewed-by: Philippe Mathieu-Daudé +printf("bytes %" PRId64 " is not

Re: [Qemu-block] [Qemu-devel] [PATCH v4 09/13] qobject: Use simpler QDict/QList scalar insertion macros

2017-04-11 Thread Philippe Mathieu-Daudé
scripts/coccinelle/qobject.cocci \ --macro-file scripts/cocci-macro-file.h --dir . --in-place and needed only one touch-up in monitor.c to avoid a long line. Signed-off-by: Eric Blake Reviewed-by: Philippe Mathieu-Daudé --- v4: no change v3: new patch --- block.c | 45

Re: [Qemu-block] [Qemu-devel] [PATCH for-2.10 1/3] qemu-img/convert: Always set ret < 0 on error

2017-04-14 Thread Philippe Mathieu-Daudé
On 04/13/2017 05:33 PM, Max Reitz wrote: Otherwise the qemu-img process will exit with EXIT_SUCCESS instead of EXIT_FAILURE. Cc: qemu-stable Signed-off-by: Max Reitz Reviewed-by: Philippe Mathieu-Daudé --- qemu-img.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qemu-img.c b

Re: [Qemu-block] [Qemu-devel] [PATCH v2 for-2.10 12/16] block/qcow2: Extract qcow2_calc_size_usage()

2017-04-17 Thread Philippe Mathieu-Daudé
Hajnoczi Reviewed-by: Philippe Mathieu-Daudé --- block/qcow2.c | 126 +++--- 1 file changed, 68 insertions(+), 58 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index bb0bd5561c..aafbc8dbed 100644 --- a/block/qcow2.c +++ b/block

Re: [Qemu-block] [Qemu-devel] [PATCH for-2.10 1/2] block: An empty filename counts as no filename

2017-04-17 Thread Philippe Mathieu-Daudé
name) { +if (drv->bdrv_needs_filename && (!filename || !filename[0])) { What do you think about adding an inline function in "qemu/option.h" like "is_valid_[option_]filename()" to avoid this bug template? Anyway: Reviewed-by: Philippe Mathieu-Daudé e

Re: [Qemu-block] [Qemu-devel] [PATCH] sheepdog: Set error when connection fails

2017-04-20 Thread Philippe Mathieu-Daudé
On 04/20/2017 01:00 AM, Fam Zheng wrote: Signed-off-by: Fam Zheng Reviewed-by: Philippe Mathieu-Daudé --- block/sheepdog.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/sheepdog.c b/block/sheepdog.c index fb9203e..7e889ee 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c

Re: [Qemu-block] [Qemu-devel] [PATCH 2/2] qemu-img: fix some spelling errors

2017-04-24 Thread Philippe Mathieu-Daudé
Hi Eric, On 04/24/2017 11:40 AM, Eric Blake wrote: On 04/23/2017 09:33 AM, jemmy858...@gmail.com wrote: From: Lidong Chen Fix some spelling errors in is_allocated_sectors comment. Signed-off-by: Lidong Chen --- qemu-img.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --gi

Re: [Qemu-block] [Qemu-devel] [PATCH v11 1/9] qemu-io: Improve alignment checks

2017-04-29 Thread Philippe Mathieu-Daudé
quite grammatically correct. Suggested-by: Philippe Mathieu-Daudé Suggested-by: Max Reitz Signed-off-by: Eric Blake Reviewed-by: Philippe Mathieu-Daudé --- v11: retitle [was "qemu-io: Don't open-code QEMU_IS_ALIGNED"], improve error messages v10: new patch ---

Re: [Qemu-block] [Qemu-devel] [PATCH 2/3] scsi-disk: export rotational qdev property

2017-05-06 Thread Philippe Mathieu-Daudé
On 05/06/2017 09:43 AM, Aurelien Jarno wrote: Export the rotational qdev property to the block device characteristics VPD page. Signed-off-by: Aurelien Jarno Reviewed-by: Philippe Mathieu-Daudé --- hw/scsi/scsi-disk.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/hw

Re: [Qemu-block] [Qemu-devel] [PATCH 1/3] hw/block: Introduce rotational qdev property

2017-05-06 Thread Philippe Mathieu-Daudé
configured as a rotational device or a non-rotational device. Default to true to not change the default behavior. Signed-off-by: Aurelien Jarno Reviewed-by: Philippe Mathieu-Daudé --- blockdev.c | 4 include/hw/block/block.h | 4 +++- 2 files changed, 7 insertions(+), 1

Re: [Qemu-block] [Qemu-devel] [PATCH 3/3] ide: export rotational qdev property

2017-05-06 Thread Philippe Mathieu-Daudé
On 05/06/2017 09:43 AM, Aurelien Jarno wrote: Export the rotational qdev property in the IDENTIFY request. Signed-off-by: Aurelien Jarno Reviewed-by: Philippe Mathieu-Daudé --- hw/ide/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/ide/core.c b/hw/ide/core.c index

[Qemu-block] [PATCH 04/11] ide/ahci: add missing includes

2017-05-08 Thread Philippe Mathieu-Daudé
’ IDEBus port; ^~ qemu/include/hw/ide/ahci.h:305:15: error: field ‘parent_obj’ has incomplete type PCIDevice parent_obj; ^~ Signed-off-by: Philippe Mathieu-Daudé --- include/hw/ide/ahci.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/hw/ide/ahci.h b

Re: [Qemu-block] [Qemu-devel] [PATCH 26/31] vdi: Avoid bitrot of debugging code

2017-05-13 Thread Philippe Mathieu-Daudé
On 04/18/2017 02:13 AM, Stefan Weil wrote: Am 18.04.2017 um 03:33 schrieb Eric Blake: Rework the debug define so that we always get -Wformat checking, even when debugging is disabled. Signed-off-by: Eric Blake --- Reviewed-by: Stefan Weil Reviewed-by: Philippe Mathieu-Daudé block

Re: [Qemu-block] [Qemu-devel] [PATCH v2 13/13] vvfat: change OEM name to 'MSWIN4.1'

2017-05-22 Thread Philippe Mathieu-Daudé
Hi Hervé, On 05/22/2017 06:12 PM, Hervé Poussineau wrote: According to specification: "'MSWIN4.1' is the recommanded setting, because it is the setting least likely to cause compatibility problems. If you want to put something else in here, that is your option, but the result may be that some FA

Re: [Qemu-block] [Qemu-devel] [PATCH v2 05/13] vvfat: introduce offset_to_bootsector, offset_to_fat and offset_to_root_dir

2017-05-23 Thread Philippe Mathieu-Daudé
Hi Hervé, On 05/22/2017 06:11 PM, Hervé Poussineau wrote: - offset_to_bootsector is the number of sectors up to FAT bootsector - offset_to_fat is the number of sectors up to first File Allocation Table - offset_to_root_dir is the number of sectors up to root directory sector Eventually your co

Re: [Qemu-block] [Qemu-devel] [PATCH v2 09/13] vvfat: correctly create base short names for non-ASCII filenames

2017-05-23 Thread Philippe Mathieu-Daudé
Hi Hervé, On 05/22/2017 06:12 PM, Hervé Poussineau wrote: More specifically, create short name from filename and change blacklist of invalid chars to whitelist of valid chars. Windows 9x also now correctly see long file names of filenames containing a space, but Scandisk still complains about

Re: [Qemu-block] [Qemu-devel] [PATCH v2 12/13] vvfat: handle KANJI lead byte 0xe5

2017-05-23 Thread Philippe Mathieu-Daudé
Hi Hervé, You explained in the cover "fix problems detected by disk checking utilities in read-only mode", do you think it would be doable to have unit-tests for those corner cases? On 05/22/2017 06:12 PM, Hervé Poussineau wrote: Specification: "FAT: General overview of on-disk format" v1.03

Re: [Qemu-block] [Qemu-devel] [PATCH v2 13/13] vvfat: change OEM name to 'MSWIN4.1'

2017-05-23 Thread Philippe Mathieu-Daudé
On 05/23/2017 04:41 PM, Hervé Poussineau wrote: Hi Philippe, Le 23/05/2017 à 06:23, Philippe Mathieu-Daudé a écrit : Hi Hervé, On 05/22/2017 06:12 PM, Hervé Poussineau wrote: According to specification: "'MSWIN4.1' is the recommanded setting, because it is the setting least

Re: [Qemu-block] [Qemu-devel] [PATCH v4 11/40] hw/xen: Use the IEC binary prefix definitions

2018-06-13 Thread Philippe Mathieu-Daudé
On 06/13/2018 04:31 PM, Richard Henderson wrote: > On 06/13/2018 02:13 AM, Eric Blake wrote: >> Or spell it UINT64_C(1) if you don't want a cast. > > Not unsigned is what I want most. I used both of your suggestions, but now new format string errors appeared due to ram_addr_t being unsigned, so c

[Qemu-block] [PATCH v3 1/3] hw/block/fdc: Replace error_setg(&error_abort) by assert()

2018-06-21 Thread Philippe Mathieu-Daudé
t, ...), use assert(). Signed-off-by: Philippe Mathieu-Daudé Acked-by: John Snow --- hw/block/fdc.c | 9 + 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/hw/block/fdc.c b/hw/block/fdc.c index cd29e27d8f..7c1c57f57f 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -396,16 +396

[Qemu-block] [PATCH 10/11] hw/block/fdc: Convert from FLOPPY_DPRINTF() macro to trace events

2018-06-21 Thread Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé --- hw/block/fdc.c| 6 +++--- hw/block/trace-events | 4 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/hw/block/fdc.c b/hw/block/fdc.c index cd29e27d8f..c7b4fe9b3e 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -40,6 +40,7

[Qemu-block] [PATCH 00/11] hw: various conversions to trace-events

2018-06-21 Thread Philippe Mathieu-Daudé
Hi, This series is a collection of various trivial patches from different stagnating branches. Time to share before loosing them. Only the first differs and is meant for Stefan, other will probably go via the Trivial tree once Acked. Regards, Phil. Philippe Mathieu-Daudé (11): trace: Fix

[Qemu-block] [PATCH 11/11] hw/block/pflash_cfi: Convert from DPRINTF() macro to trace events

2018-06-21 Thread Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé --- hw/block/pflash_cfi01.c | 42 +++-- hw/block/pflash_cfi02.c | 18 +- hw/block/trace-events | 13 + 3 files changed, 37 insertions(+), 36 deletions(-) diff --git a/hw/block/pflash_cfi01.c

Re: [Qemu-block] [PATCH 10/11] hw/block/fdc: Convert from FLOPPY_DPRINTF() macro to trace events

2018-06-21 Thread Philippe Mathieu-Daudé
On 06/21/2018 02:41 PM, John Snow wrote: > > > On 06/21/2018 01:12 PM, Philippe Mathieu-Daudé wrote: >> Signed-off-by: Philippe Mathieu-Daudé >> --- >> hw/block/fdc.c| 6 +++--- >> hw/block/trace-events | 4 >> 2 files changed, 7 insertions(+

Re: [Qemu-block] [Qemu-devel] [PATCH] migration: Appease coverity, skip empty block trees

2018-06-22 Thread Philippe Mathieu-Daudé
On 06/22/2018 05:11 PM, John Snow wrote: > If a tree consists exclusively of implicit filter nodes, we might crash > QEMU. This configuration should not exist in practice, but if it did, > skipping it would be fine. > > For the purposes of debug builds, throw an assert to remind us that > this con

Re: [Qemu-block] [Qemu-devel] [PATCH] migration: Appease coverity, skip empty block trees

2018-06-22 Thread Philippe Mathieu-Daudé
On 06/22/2018 05:35 PM, John Snow wrote: > On 06/22/2018 04:24 PM, Philippe Mathieu-Daudé wrote: >> On 06/22/2018 05:11 PM, John Snow wrote: >>> If a tree consists exclusively of implicit filter nodes, we might crash >>> QEMU. This configuration should not exist

Re: [Qemu-block] [PATCH 11/11] hw/block/pflash_cfi: Convert from DPRINTF() macro to trace events

2018-06-24 Thread Philippe Mathieu-Daudé
On 06/21/2018 02:12 PM, Philippe Mathieu-Daudé wrote: > Signed-off-by: Philippe Mathieu-Daudé > --- > hw/block/pflash_cfi01.c | 42 +++-- > hw/block/pflash_cfi02.c | 18 +- > hw/block/trace-events | 13 + > 3

[Qemu-block] [PATCH v5 00/46] Use the IEC binary prefix definitions

2018-06-25 Thread Philippe Mathieu-Daudé
7;hw/usb: Use the IEC binary prefix definitions' 036/46:[0002] [FC] 'hw/sd: Use the IEC binary prefix definitions' 037/46:[] [--] 'hw/vfio: Use the IEC binary prefix definitions' 038/46:[] [--] 'hw/virtio: Use the IEC binary prefix definitions' 039/46:[--

[Qemu-block] [PATCH v5 02/46] vdi: Use definitions from "qemu/units.h"

2018-06-25 Thread Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Stefan Weil --- block/vdi.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/block/vdi.c b/block/vdi.c index 1d8ed67dbf..6555cffb88 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -50,6 +50,7 @@ */ #include "

[Qemu-block] [PATCH v5 11/46] hw/xen: Use the IEC binary prefix definitions

2018-06-25 Thread Philippe Mathieu-Daudé
It eases code review, unit is explicit. Patch generated using: $ git grep -E '(1024|2048|4096|8192|(<<|>>).?(10|20|30))' hw/ include/hw/ and modified manually. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alan Robinson --- hw/block/xen_disk.c|

[Qemu-block] [PATCH v5 13/46] hw/block: Use the IEC binary prefix definitions

2018-06-25 Thread Philippe Mathieu-Daudé
It eases code review, unit is explicit. Patch generated using: $ git grep -E '(1024|2048|4096|8192|(<<|>>).?(10|20|30))' hw/ include/hw/ and modified manually. Signed-off-by: Philippe Mathieu-Daudé --- hw/block/m25p80.c | 5 +++-- hw/block/nvme.c| 3 ++- hw/bloc

[Qemu-block] [PATCH v4 1/3] hw/block/fdc: Replace error_setg(&error_abort) by assert()

2018-06-25 Thread Philippe Mathieu-Daudé
t, ...), use assert(). Signed-off-by: Philippe Mathieu-Daudé Acked-by: John Snow --- hw/block/fdc.c | 9 + 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/hw/block/fdc.c b/hw/block/fdc.c index cd29e27d8f..7c1c57f57f 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -396,16 +396

Re: [Qemu-block] [Qemu-devel] [PATCH 1/2] qcow2: Remove dead check on !ret

2018-06-27 Thread Philippe Mathieu-Daudé
Signed-off-by: Fam Zheng Reviewed-by: Philippe Mathieu-Daudé > --- > block/qcow2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/qcow2.c b/block/qcow2.c > index a3a3aa2a97..ff23063616 100644 > --- a/block/qcow2.c > +++ b/block/qcow2.c &

[Qemu-block] [PATCH] block/crypto: Simplify block_crypto_co_create_opts_luks to avoid a memory leak

2018-07-04 Thread Philippe Mathieu-Daudé
After 1ec4f4160a1 Coverity reported: Variable cryptoopts going out of scope leaks the storage it points to. Fixes: Coverity CID 1393782 (Resource leak) Signed-off-by: Philippe Mathieu-Daudé --- I think this check is superfluous but I respected the previous code: ret

[Qemu-block] [PATCH 1/8] qobject: Catch another straggler for use of qdict_put_str()

2018-07-04 Thread Philippe Mathieu-Daudé
Patch created mechanically by rerunning: $ spatch --sp-file scripts/coccinelle/qobject.cocci \ --macro-file scripts/cocci-macro-file.h \ --dir . --in-place Signed-off-by: Philippe Mathieu-Daudé --- qobject/block-qdict.c | 2 +- 1 file changed, 1 insertion(+), 1

[Qemu-block] [PATCH 0/8] Coccinelle cleanups

2018-07-04 Thread Philippe Mathieu-Daudé
Nothing exciting here, patches created mechanically (common after soft freeze). Philippe Mathieu-Daudé (8): qobject: Catch another straggler for use of qdict_put_str() error: Remove NULL checks on error_propagate() calls crypto: Remove useless casts xen: Remove useless casts tests/bios

[Qemu-block] [PATCH v2 1/7] qobject: Catch another straggler for use of qdict_put_str()

2018-07-05 Thread Philippe Mathieu-Daudé
Patch created mechanically by rerunning: $ spatch --sp-file scripts/coccinelle/qobject.cocci \ --macro-file scripts/cocci-macro-file.h \ --dir . --in-place Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Markus Armbruster Acked-by: Michael S. Tsirkin --- qobject

Re: [Qemu-block] [PATCH] block/crypto: Simplify block_crypto_co_create_opts_luks to avoid a memory leak

2018-07-05 Thread Philippe Mathieu-Daudé
On 07/05/2018 07:20 AM, Kevin Wolf wrote: > Am 04.07.2018 um 17:02 hat Philippe Mathieu-Daudé geschrieben: >> After 1ec4f4160a1 Coverity reported: >> >> Variable cryptoopts going out of scope leaks the storage it points to. >> >> Fixes: Coverity CID 1393782

[Qemu-block] qemu-iotests: workaround to avoid Python3 while running tests on Fedora Docker image

2018-07-17 Thread Philippe Mathieu-Daudé
I noticed this while running "make docker-test-block@fedora": $ make docker-test-block@fedora NETWORK=1 BUILD fedora RUN test-block in qemu:fedora Configure options: --enable-werror --prefix=/tmp/qemu-test/install --python=/usr/bin/python3 --target-list=x86_64-softmmu ... python

[Qemu-block] [PATCH for-3.1] qemu-iotests: Adapt to moved location of StringIO module in py3

2018-07-17 Thread Philippe Mathieu-Daudé
[failed, exit status 1] - output mismatch (see 148.out.bad) 152 [failed, exit status 1] - output mismatch (see 152.out.bad) Failures: 045 132 148 152 Signed-off-by: Philippe Mathieu-Daudé --- tests/qemu-iotests/iotests.py | 8 ++-- 1 file changed, 6 insertions(+), 2 delet

Re: [Qemu-block] qemu-iotests: workaround to avoid Python3 while running tests on Fedora Docker image

2018-07-18 Thread Philippe Mathieu-Daudé
Hi Daniel, On 07/18/2018 04:25 AM, Daniel P. Berrangé wrote: > On Tue, Jul 17, 2018 at 08:37:58PM -0300, Philippe Mathieu-Daudé wrote: >> I noticed this while running "make docker-test-block@fedora": >> >> $ make docker-test-block@fedora NETWORK=1 >> BU

Re: [Qemu-block] [PATCH for-3.1] qemu-iotests: Adapt to moved location of StringIO module in py3

2018-07-18 Thread Philippe Mathieu-Daudé
Hi Eduardo, On 07/18/2018 11:53 AM, Eduardo Habkost wrote: > On Tue, Jul 17, 2018 at 08:40:15PM -0300, Philippe Mathieu-Daudé wrote: > [...] >> -import StringIO >> +try: >> +from StringIO import StringIO >> +except ImportError: >> +

Re: [Qemu-block] [Qemu-devel] [PATCH for-3.1] qemu-iotests: Adapt to moved location of StringIO module in py3

2018-07-18 Thread Philippe Mathieu-Daudé
On 07/18/2018 12:05 PM, Eduardo Habkost wrote: > On Wed, Jul 18, 2018 at 12:02:39PM -0300, Philippe Mathieu-Daudé wrote: >> Hi Eduardo, >> >> On 07/18/2018 11:53 AM, Eduardo Habkost wrote: >>> On Tue, Jul 17, 2018 at 08:40:15PM -0300, Philippe Mathieu-Daudé wro

[Qemu-block] [PATCH for-3.1 v2] python: Use io.StringIO

2018-07-18 Thread Philippe Mathieu-Daudé
output mismatch (see 132.out.bad) 152 [failed, exit status 1] - output mismatch (see 152.out.bad) Failures: 045 132 152 Suggested-by: Eduardo Habkost Signed-off-by: Philippe Mathieu-Daudé --- tests/docker/docker.py| 5 + tests/image-fuzzer/runner.py | 6 +++--- tests/qe

Re: [Qemu-block] [Qemu-devel] [PATCH] block/vvfat: Fix crash when reporting error about too many files in directory

2018-07-18 Thread Philippe Mathieu-Daudé
(errp, "Could not read directory \"%s\"", s->path); > return -1; > } > mapping = array_get(&(s->mapping), i); > Reviewed-by: Philippe Mathieu-Daudé

[Qemu-block] [PATCH] sheepdog: Replace strncpy() by g_strlcpy()

2018-08-17 Thread Philippe Mathieu-Daudé
256 equals destination size [-Werror=stringop-truncation] strncpy(buf + SD_MAX_VDI_LEN, tag, SD_MAX_VDI_TAG_LEN); ^~ Reported-by: Howard Spoelstra Signed-off-by: Philippe Mathieu-Daudé --- See http://lists.nongnu.org/archive/html/qe

Re: [Qemu-block] [Qemu-devel] [PATCH] nbd: Don't take address of fields in packed structs

2018-09-27 Thread Philippe Mathieu-Daudé
that up (and > ensure that it gets more than just compile-time testing, even though I > agree that the change is safe from a pure review standpoint). > Reviewed-by: Philippe Mathieu-Daudé

Re: [Qemu-block] [Qemu-devel] [PATCH 01/10] qemu-img.c: comment typo fix

2018-10-05 Thread Philippe Mathieu-Daudé
On 04/10/2018 18:53, Cleber Rosa wrote:> On 10/4/18 12:48 PM, Eric Blake wrote: >> On 10/4/18 11:18 AM, Cleber Rosa wrote: >>> A trivial comment typo fix. >>> >>> Signed-off-by: Cleber Rosa >>> --- >>>   qemu-img.c | 2 +- >>>   1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/qem

Re: [Qemu-block] [Qemu-devel] [PATCH 03/10] qemu-iotests: make 218 executable

2018-10-05 Thread Philippe Mathieu-Daudé
On 04/10/2018 18:18, Cleber Rosa wrote: > Commit 990dc39c made all tests executable at the time, but 218 came in > later, and missing those permissions. > > Signed-off-by: Cleber Rosa > --- > tests/qemu-iotests/218 | 0 > 1 file changed, 0 insertions(+), 0 deletions(-) > mode change 100644 => 1

Re: [Qemu-block] [Qemu-devel] [PATCH 10/10] scripts/qemu.py: remove trailing quotes on docstring

2018-10-05 Thread Philippe Mathieu-Daudé
On 04/10/2018 18:18, Cleber Rosa wrote: > Signed-off-by: Cleber Rosa Reviewed-by: Philippe Mathieu-Daudé > --- > scripts/qemu.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/qemu.py b/scripts/qemu.py > index 7abe26de69..676eb9709a 1

Re: [Qemu-block] [Qemu-devel] [PATCH 04/10] qemu-iotests: fix filename containing checks

2018-10-05 Thread Philippe Mathieu-Daudé
On 04/10/2018 18:18, Cleber Rosa wrote: > Commit cce293a2945 moved some functions from common.config to > common.rc, but the error messages still reference the old file > location. > > Signed-off-by: Cleber Rosa Reviewed-by: Philippe Mathieu-Daudé > --- > tests/qemu-

Re: [Qemu-block] [Qemu-devel] [PATCH 08/10] scripts/decodetree.py: fix reference to attributes

2018-10-05 Thread Philippe Mathieu-Daudé
On 04/10/2018 18:18, Cleber Rosa wrote: > Signed-off-by: Cleber Rosa Reviewed-by: Philippe Mathieu-Daudé > --- > scripts/decodetree.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/decodetree.py b/scripts/decodetree.py > index 457cffea

Re: [Qemu-block] [Qemu-devel] [PATCH 07/10] scripts/decodetree.py: remove unused imports

2018-10-05 Thread Philippe Mathieu-Daudé
On 04/10/2018 18:18, Cleber Rosa wrote: > Signed-off-by: Cleber Rosa Reviewed-by: Philippe Mathieu-Daudé > --- > scripts/decodetree.py | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/scripts/decodetree.py b/scripts/decodetree.py > index 277f9a9bba..457cffea90 1

Re: [Qemu-block] [Qemu-trivial] [PATCH] qemu-io-cmds: Fix two format strings

2018-10-07 Thread Philippe Mathieu-Daudé
aces to have the difference between your statement and the analyzer output. > > Signed-off-by: Stefan Weil Reviewed-by: Philippe Mathieu-Daudé > --- > qemu-io-cmds.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/qemu-io-cmds.c b/qemu-io-cmds

[Qemu-block] [PATCH v3] python: Use io.StringIO

2018-10-10 Thread Philippe Mathieu-Daudé
s/qemu-iotests/iotests.py", line 682, in main +import StringIO +ModuleNotFoundError: No module named 'StringIO' 132 [failed, exit status 1] - output mismatch (see 132.out.bad) 152 [failed, exit status 1] - output mismatch (see 152.out.bad) Failures: 045

Re: [Qemu-block] [Qemu-devel] [PATCH v3] python: Use io.StringIO

2018-10-11 Thread Philippe Mathieu-Daudé
On 11/10/2018 16:01, Markus Armbruster wrote: > Paolo Bonzini writes: > >> On 11/10/2018 13:33, Kevin Wolf wrote: >>> 045 1s ...[13:31:47] [13:31:47] [failed, exit status 1] - output >>> mismatch (see 045.out.bad) >>> --- /home/kwolf/source/qemu/tests/qemu-iotests/045.out 2017-01-24 >>

Re: [Qemu-block] [Qemu-devel] [PATCH v2] pci: removed the is_express field since a uniform interface was inserted

2017-12-04 Thread Philippe Mathieu-Daudé
Hi Yoni, Eduardo, Markus, On 12/04/2017 07:18 AM, Yoni Bettan wrote: > * according to Eduardo Habkost's commit > fd3b02c8896d597dd8b9e053dec579cf0386aee1 > > * since all PCIEs now implement INTERFACE_PCIE_DEVICE we > don't need this field anymore > > *

[Qemu-block] [PATCH 0/6] QTests: use Python to run complex tests

2017-12-13 Thread Philippe Mathieu-Daudé
--- Ran 1 test in 0.070s OK Regards, Phil. Based-on: 20171213204436.5379-12-f4...@amsat.org (QOM'ify SDBus, housekeeping) Philippe Mathieu-Daudé (6): iotests.py: split BlockQMPTestCase class of QMPTestCase iotests.py: move the generic QMPTestCase to qtest.p

[Qemu-block] [PATCH 1/6] iotests.py: split BlockQMPTestCase class of QMPTestCase

2017-12-13 Thread Philippe Mathieu-Daudé
Add a new class BlockQMPTestCase based on QMPTestCase, which only contains the block methods. This will allow to reuse the generic methods in the next patch. Patch created mostly mechanically. Signed-off-by: Philippe Mathieu-Daudé --- tests/qemu-iotests/iotests.py | 4 tests/qemu-iotests

[Qemu-block] [PATCH 2/6] iotests.py: move the generic QMPTestCase to qtest.py

2017-12-13 Thread Philippe Mathieu-Daudé
All those methods are generic and can be reused. Add a few 'from qtest import ...' to keep the patch short. Signed-off-by: Philippe Mathieu-Daudé --- scripts/qtest.py | 102 ++ tests/qemu-iotests/iotest

Re: [Qemu-block] [PATCH 0/6] QTests: use Python to run complex tests

2017-12-14 Thread Philippe Mathieu-Daudé
Hi Stefan, On 12/14/2017 06:39 AM, Stefan Hajnoczi wrote: [...] > Device qtests are better done in C than Python. Python is not good at > binary I/O and porting this to Python 3 will be extra work later (Python > 2 is set for End-of-Life in 2020, see https://pythonclock.org/). > > More important

Re: [Qemu-block] [PATCH 0/6] QTests: use Python to run complex tests

2017-12-14 Thread Philippe Mathieu-Daudé
Hi Nir, On 12/14/2017 12:39 PM, Nir Soffer wrote: > On Thu, Dec 14, 2017 at 1:36 PM Paolo Bonzini > Device qtests are better done in C than Python.  Python is not good at > > binary I/O and porting this to Python 3 will be extra work later > (Python > > 2 is set for End-of-Life in

Re: [Qemu-block] [Qemu-devel] [PATCH 06/14] sdhci: refactor same sysbus/pci properties into a common one

2017-12-14 Thread Philippe Mathieu-Daudé
>> /* Capabilities registers provide information on supported features of this >> * specific host controller implementation */ >> -static Property sdhci_pci_properties[] = { >> +static Property sdhci_properties[] = { >> DEFINE_PROP_UINT32("capareg", SDHCIState, capareg, >> SDHC

Re: [Qemu-block] [PATCH 0/6] QTests: use Python to run complex tests

2017-12-14 Thread Philippe Mathieu-Daudé
>> > Is there a specific reason why adding SD Card support to libqos is not >> > possible in C? >> >> Short (joking) answer: Would you write tests/qemu-iotests/041 in C? ;) > > 041 is not a device-level test. It doesn't poke device registers, it's > a functional test. In my email I said I support

[Qemu-block] [PATCH v4 25/43] hw/ide: remove old i386 dependency

2017-12-14 Thread Philippe Mathieu-Daudé
and remove a duplicated include Signed-off-by: Philippe Mathieu-Daudé Acked-by: John Snow --- hw/ide/ahci.c | 1 - hw/ide/cmd646.c | 1 - hw/ide/core.c | 3 +-- hw/ide/ich.c| 1 - hw/ide/isa.c| 1 - hw/ide/microdrive.c | 1 - hw/ide/pci.c| 1 - hw/ide

[Qemu-block] [PATCH v4 11/43] block: remove "qemu/osdep.h" from header file

2017-12-14 Thread Philippe Mathieu-Daudé
applied using ./scripts/clean-includes Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Peter Maydell --- block/dmg.h | 1 - 1 file changed, 1 deletion(-) diff --git a/block/dmg.h b/block/dmg.h index b592d6fa8b..2ecf239ba5 100644 --- a/block/dmg.h +++ b/block/dmg.h @@ -26,7 +26,6

<    2   3   4   5   6   7   8   9   10   11   >