All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] trivial: Fix duplicated words
@ 2022-07-22 14:58 Thomas Huth
  2022-07-22 15:03 ` Daniel P. Berrangé
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Huth @ 2022-07-22 14:58 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial

Some files wrongly contain the same word twice in a row.
One of them should be removed or replaced.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 Removing duplicated words seems to be the new hip trend on the
 Linux kernel mailing lists - so let's be hip in QEMU land, too! ;-)

 docs/system/s390x/bootdevices.rst             | 2 +-
 hw/usb/u2f.h                                  | 2 +-
 include/hw/qdev-core.h                        | 2 +-
 block/linux-aio.c                             | 2 +-
 contrib/plugins/cache.c                       | 2 +-
 hw/arm/omap2.c                                | 2 +-
 hw/misc/mac_via.c                             | 2 +-
 hw/s390x/s390-ccw.c                           | 2 +-
 linux-user/i386/cpu_loop.c                    | 2 +-
 target/arm/helper.c                           | 2 +-
 tools/virtiofsd/fuse_virtio.c                 | 2 +-
 ui/vdagent.c                                  | 2 +-
 tests/docker/dockerfiles/debian-native.docker | 2 +-
 13 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/docs/system/s390x/bootdevices.rst b/docs/system/s390x/bootdevices.rst
index 9e591cb9dc..b5950133e8 100644
--- a/docs/system/s390x/bootdevices.rst
+++ b/docs/system/s390x/bootdevices.rst
@@ -65,7 +65,7 @@ you can specify it via the ``-global s390-ipl.netboot_fw=filename``
 command line option.
 
 The ``bootindex`` property is especially important for booting via the network.
-If you don't specify the the ``bootindex`` property here, the network bootloader
+If you don't specify the ``bootindex`` property here, the network bootloader
 firmware code won't get loaded into the guest memory so that the network boot
 will fail. For a successful network boot, try something like this::
 
diff --git a/hw/usb/u2f.h b/hw/usb/u2f.h
index db30f3586b..a408a82927 100644
--- a/hw/usb/u2f.h
+++ b/hw/usb/u2f.h
@@ -74,7 +74,7 @@ typedef struct U2FKeyState {
 
 /*
  * API to be used by the U2F key device variants (i.e. hw/u2f-*.c)
- * to interact with the the U2F key base device (i.e. hw/u2f.c)
+ * to interact with the U2F key base device (i.e. hw/u2f.c)
  */
 void u2f_send_to_guest(U2FKeyState *key,
                        const uint8_t packet[U2FHID_PACKET_SIZE]);
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 98774e2835..785dd5a56e 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -386,7 +386,7 @@ bool qdev_realize_and_unref(DeviceState *dev, BusState *bus, Error **errp);
  *
  *  - unrealize any child buses by calling qbus_unrealize()
  *    (this will recursively unrealize any devices on those buses)
- *  - call the the unrealize method of @dev
+ *  - call the unrealize method of @dev
  *
  * The device can then be freed by causing its reference count to go
  * to zero.
diff --git a/block/linux-aio.c b/block/linux-aio.c
index 9c2393a2f7..d2cfb7f523 100644
--- a/block/linux-aio.c
+++ b/block/linux-aio.c
@@ -461,7 +461,7 @@ LinuxAioState *laio_init(Error **errp)
     s = g_malloc0(sizeof(*s));
     rc = event_notifier_init(&s->e, false);
     if (rc < 0) {
-        error_setg_errno(errp, -rc, "failed to to initialize event notifier");
+        error_setg_errno(errp, -rc, "failed to initialize event notifier");
         goto out_free_state;
     }
 
diff --git a/contrib/plugins/cache.c b/contrib/plugins/cache.c
index b9226e7c40..ac1510aaa1 100644
--- a/contrib/plugins/cache.c
+++ b/contrib/plugins/cache.c
@@ -38,7 +38,7 @@ enum EvictionPolicy policy;
  * put in any of the blocks inside the set. The number of block per set is
  * called the associativity (assoc).
  *
- * Each block contains the the stored tag and a valid bit. Since this is not
+ * Each block contains the stored tag and a valid bit. Since this is not
  * a functional simulator, the data itself is not stored. We only identify
  * whether a block is in the cache or not by searching for its tag.
  *
diff --git a/hw/arm/omap2.c b/hw/arm/omap2.c
index 02b1aa8c97..8571eedd73 100644
--- a/hw/arm/omap2.c
+++ b/hw/arm/omap2.c
@@ -274,7 +274,7 @@ static void omap_eac_format_update(struct omap_eac_s *s)
     fmt.freq = s->codec.rate;
     /* TODO: signedness possibly depends on the CODEC hardware - or
      * does I2S specify it?  */
-    /* All register writes are 16 bits so we we store 16-bit samples
+    /* All register writes are 16 bits so we store 16-bit samples
      * in the buffers regardless of AGCFR[B8_16] value.  */
     fmt.fmt = AUDIO_FORMAT_U16;
 
diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c
index fba85a53d7..f42c12755a 100644
--- a/hw/misc/mac_via.c
+++ b/hw/misc/mac_via.c
@@ -587,7 +587,7 @@ static void adb_via_poll(void *opaque)
         /*
          * For older Linux kernels that switch to IDLE mode after sending the
          * ADB command, detect if there is an existing response and return that
-         * as a a "fake" autopoll reply or bus timeout accordingly
+         * as a "fake" autopoll reply or bus timeout accordingly
          */
         *data = v1s->adb_data_out[0];
         olen = v1s->adb_data_in_size;
diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
index 2fc8bb9c23..e2d86d96e7 100644
--- a/hw/s390x/s390-ccw.c
+++ b/hw/s390x/s390-ccw.c
@@ -57,7 +57,7 @@ IOInstEnding s390_ccw_store(SubchDev *sch)
 
     /*
      * This code is called for both virtual and passthrough devices,
-     * but only applies to to the latter.  This ugly check makes that
+     * but only applies to the latter.  This ugly check makes that
      * distinction for us.
      */
     if (object_dynamic_cast(OBJECT(sch->driver_data), TYPE_S390_CCW)) {
diff --git a/linux-user/i386/cpu_loop.c b/linux-user/i386/cpu_loop.c
index 492701dd9a..42837399bc 100644
--- a/linux-user/i386/cpu_loop.c
+++ b/linux-user/i386/cpu_loop.c
@@ -137,7 +137,7 @@ static void emulate_vsyscall(CPUX86State *env)
     }
 
     /*
-     * Validate the the pointer arguments.
+     * Validate the pointer arguments.
      */
     switch (syscall) {
     case TARGET_NR_gettimeofday:
diff --git a/target/arm/helper.c b/target/arm/helper.c
index 1a8b06410e..e1bdc80c35 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -3898,7 +3898,7 @@ static const ARMCPRegInfo cache_dirty_status_cp_reginfo[] = {
 };
 
 static const ARMCPRegInfo cache_block_ops_cp_reginfo[] = {
-    /* We never have a a block transfer operation in progress */
+    /* We never have a block transfer operation in progress */
     { .name = "BXSR", .cp = 15, .crn = 7, .crm = 12, .opc1 = 0, .opc2 = 4,
       .access = PL0_R, .type = ARM_CP_CONST | ARM_CP_NO_RAW,
       .resetvalue = 0 },
diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c
index a52eacf82e..9368e292e4 100644
--- a/tools/virtiofsd/fuse_virtio.c
+++ b/tools/virtiofsd/fuse_virtio.c
@@ -379,7 +379,7 @@ int virtio_send_data_iov(struct fuse_session *se, struct fuse_chan *ch,
     copy_iov(iov, count, in_sg, in_num, iov_len);
 
     /*
-     * Build a copy of the the in_sg iov so we can skip bits in it,
+     * Build a copy of the in_sg iov so we can skip bits in it,
      * including changing the offsets
      */
     in_sg_cpy = g_new(struct iovec, in_num);
diff --git a/ui/vdagent.c b/ui/vdagent.c
index aa6167f0b4..a899eed195 100644
--- a/ui/vdagent.c
+++ b/ui/vdagent.c
@@ -544,7 +544,7 @@ static void vdagent_clipboard_recv_grab(VDAgentChardev *vd, uint8_t s, uint32_t
     if (size > sizeof(uint32_t) * 10) {
         /*
          * spice has 6 types as of 2021. Limiting to 10 entries
-         * so we we have some wiggle room.
+         * so we have some wiggle room.
          */
         return;
     }
diff --git a/tests/docker/dockerfiles/debian-native.docker b/tests/docker/dockerfiles/debian-native.docker
index efd55cb6e0..8dd033097c 100644
--- a/tests/docker/dockerfiles/debian-native.docker
+++ b/tests/docker/dockerfiles/debian-native.docker
@@ -1,7 +1,7 @@
 #
 # Docker Debian Native
 #
-# This this intended to build QEMU on native host systems. Debian is
+# This is intended to build QEMU on native host systems. Debian is
 # chosen due to the broadest range on supported host systems for QEMU.
 #
 # This docker target is based on the docker.io Debian Bullseye base
-- 
2.31.1



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

* Re: [PATCH] trivial: Fix duplicated words
  2022-07-22 14:58 [PATCH] trivial: Fix duplicated words Thomas Huth
@ 2022-07-22 15:03 ` Daniel P. Berrangé
  2022-07-22 15:07   ` Thomas Huth
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel P. Berrangé @ 2022-07-22 15:03 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-devel, qemu-trivial

On Fri, Jul 22, 2022 at 04:58:59PM +0200, Thomas Huth wrote:
> Some files wrongly contain the same word twice in a row.
> One of them should be removed or replaced.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  Removing duplicated words seems to be the new hip trend on the
>  Linux kernel mailing lists - so let's be hip in QEMU land, too! ;-)

I've got patches proposed for this, as well as test to detect it:

https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg01405.html
https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg01403.html

though I'm not checking 'this this' or 'a a'

> 
>  docs/system/s390x/bootdevices.rst             | 2 +-
>  hw/usb/u2f.h                                  | 2 +-
>  include/hw/qdev-core.h                        | 2 +-
>  block/linux-aio.c                             | 2 +-
>  contrib/plugins/cache.c                       | 2 +-
>  hw/arm/omap2.c                                | 2 +-
>  hw/misc/mac_via.c                             | 2 +-
>  hw/s390x/s390-ccw.c                           | 2 +-
>  linux-user/i386/cpu_loop.c                    | 2 +-
>  target/arm/helper.c                           | 2 +-
>  tools/virtiofsd/fuse_virtio.c                 | 2 +-
>  ui/vdagent.c                                  | 2 +-
>  tests/docker/dockerfiles/debian-native.docker | 2 +-
>  13 files changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/docs/system/s390x/bootdevices.rst b/docs/system/s390x/bootdevices.rst
> index 9e591cb9dc..b5950133e8 100644
> --- a/docs/system/s390x/bootdevices.rst
> +++ b/docs/system/s390x/bootdevices.rst
> @@ -65,7 +65,7 @@ you can specify it via the ``-global s390-ipl.netboot_fw=filename``
>  command line option.
>  
>  The ``bootindex`` property is especially important for booting via the network.
> -If you don't specify the the ``bootindex`` property here, the network bootloader
> +If you don't specify the ``bootindex`` property here, the network bootloader
>  firmware code won't get loaded into the guest memory so that the network boot
>  will fail. For a successful network boot, try something like this::
>  
> diff --git a/hw/usb/u2f.h b/hw/usb/u2f.h
> index db30f3586b..a408a82927 100644
> --- a/hw/usb/u2f.h
> +++ b/hw/usb/u2f.h
> @@ -74,7 +74,7 @@ typedef struct U2FKeyState {
>  
>  /*
>   * API to be used by the U2F key device variants (i.e. hw/u2f-*.c)
> - * to interact with the the U2F key base device (i.e. hw/u2f.c)
> + * to interact with the U2F key base device (i.e. hw/u2f.c)
>   */
>  void u2f_send_to_guest(U2FKeyState *key,
>                         const uint8_t packet[U2FHID_PACKET_SIZE]);
> diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
> index 98774e2835..785dd5a56e 100644
> --- a/include/hw/qdev-core.h
> +++ b/include/hw/qdev-core.h
> @@ -386,7 +386,7 @@ bool qdev_realize_and_unref(DeviceState *dev, BusState *bus, Error **errp);
>   *
>   *  - unrealize any child buses by calling qbus_unrealize()
>   *    (this will recursively unrealize any devices on those buses)
> - *  - call the the unrealize method of @dev
> + *  - call the unrealize method of @dev
>   *
>   * The device can then be freed by causing its reference count to go
>   * to zero.
> diff --git a/block/linux-aio.c b/block/linux-aio.c
> index 9c2393a2f7..d2cfb7f523 100644
> --- a/block/linux-aio.c
> +++ b/block/linux-aio.c
> @@ -461,7 +461,7 @@ LinuxAioState *laio_init(Error **errp)
>      s = g_malloc0(sizeof(*s));
>      rc = event_notifier_init(&s->e, false);
>      if (rc < 0) {
> -        error_setg_errno(errp, -rc, "failed to to initialize event notifier");
> +        error_setg_errno(errp, -rc, "failed to initialize event notifier");
>          goto out_free_state;
>      }
>  
> diff --git a/contrib/plugins/cache.c b/contrib/plugins/cache.c
> index b9226e7c40..ac1510aaa1 100644
> --- a/contrib/plugins/cache.c
> +++ b/contrib/plugins/cache.c
> @@ -38,7 +38,7 @@ enum EvictionPolicy policy;
>   * put in any of the blocks inside the set. The number of block per set is
>   * called the associativity (assoc).
>   *
> - * Each block contains the the stored tag and a valid bit. Since this is not
> + * Each block contains the stored tag and a valid bit. Since this is not
>   * a functional simulator, the data itself is not stored. We only identify
>   * whether a block is in the cache or not by searching for its tag.
>   *
> diff --git a/hw/arm/omap2.c b/hw/arm/omap2.c
> index 02b1aa8c97..8571eedd73 100644
> --- a/hw/arm/omap2.c
> +++ b/hw/arm/omap2.c
> @@ -274,7 +274,7 @@ static void omap_eac_format_update(struct omap_eac_s *s)
>      fmt.freq = s->codec.rate;
>      /* TODO: signedness possibly depends on the CODEC hardware - or
>       * does I2S specify it?  */
> -    /* All register writes are 16 bits so we we store 16-bit samples
> +    /* All register writes are 16 bits so we store 16-bit samples
>       * in the buffers regardless of AGCFR[B8_16] value.  */
>      fmt.fmt = AUDIO_FORMAT_U16;
>  
> diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c
> index fba85a53d7..f42c12755a 100644
> --- a/hw/misc/mac_via.c
> +++ b/hw/misc/mac_via.c
> @@ -587,7 +587,7 @@ static void adb_via_poll(void *opaque)
>          /*
>           * For older Linux kernels that switch to IDLE mode after sending the
>           * ADB command, detect if there is an existing response and return that
> -         * as a a "fake" autopoll reply or bus timeout accordingly
> +         * as a "fake" autopoll reply or bus timeout accordingly
>           */
>          *data = v1s->adb_data_out[0];
>          olen = v1s->adb_data_in_size;
> diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
> index 2fc8bb9c23..e2d86d96e7 100644
> --- a/hw/s390x/s390-ccw.c
> +++ b/hw/s390x/s390-ccw.c
> @@ -57,7 +57,7 @@ IOInstEnding s390_ccw_store(SubchDev *sch)
>  
>      /*
>       * This code is called for both virtual and passthrough devices,
> -     * but only applies to to the latter.  This ugly check makes that
> +     * but only applies to the latter.  This ugly check makes that
>       * distinction for us.
>       */
>      if (object_dynamic_cast(OBJECT(sch->driver_data), TYPE_S390_CCW)) {
> diff --git a/linux-user/i386/cpu_loop.c b/linux-user/i386/cpu_loop.c
> index 492701dd9a..42837399bc 100644
> --- a/linux-user/i386/cpu_loop.c
> +++ b/linux-user/i386/cpu_loop.c
> @@ -137,7 +137,7 @@ static void emulate_vsyscall(CPUX86State *env)
>      }
>  
>      /*
> -     * Validate the the pointer arguments.
> +     * Validate the pointer arguments.
>       */
>      switch (syscall) {
>      case TARGET_NR_gettimeofday:
> diff --git a/target/arm/helper.c b/target/arm/helper.c
> index 1a8b06410e..e1bdc80c35 100644
> --- a/target/arm/helper.c
> +++ b/target/arm/helper.c
> @@ -3898,7 +3898,7 @@ static const ARMCPRegInfo cache_dirty_status_cp_reginfo[] = {
>  };
>  
>  static const ARMCPRegInfo cache_block_ops_cp_reginfo[] = {
> -    /* We never have a a block transfer operation in progress */
> +    /* We never have a block transfer operation in progress */
>      { .name = "BXSR", .cp = 15, .crn = 7, .crm = 12, .opc1 = 0, .opc2 = 4,
>        .access = PL0_R, .type = ARM_CP_CONST | ARM_CP_NO_RAW,
>        .resetvalue = 0 },
> diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c
> index a52eacf82e..9368e292e4 100644
> --- a/tools/virtiofsd/fuse_virtio.c
> +++ b/tools/virtiofsd/fuse_virtio.c
> @@ -379,7 +379,7 @@ int virtio_send_data_iov(struct fuse_session *se, struct fuse_chan *ch,
>      copy_iov(iov, count, in_sg, in_num, iov_len);
>  
>      /*
> -     * Build a copy of the the in_sg iov so we can skip bits in it,
> +     * Build a copy of the in_sg iov so we can skip bits in it,
>       * including changing the offsets
>       */
>      in_sg_cpy = g_new(struct iovec, in_num);
> diff --git a/ui/vdagent.c b/ui/vdagent.c
> index aa6167f0b4..a899eed195 100644
> --- a/ui/vdagent.c
> +++ b/ui/vdagent.c
> @@ -544,7 +544,7 @@ static void vdagent_clipboard_recv_grab(VDAgentChardev *vd, uint8_t s, uint32_t
>      if (size > sizeof(uint32_t) * 10) {
>          /*
>           * spice has 6 types as of 2021. Limiting to 10 entries
> -         * so we we have some wiggle room.
> +         * so we have some wiggle room.
>           */
>          return;
>      }
> diff --git a/tests/docker/dockerfiles/debian-native.docker b/tests/docker/dockerfiles/debian-native.docker
> index efd55cb6e0..8dd033097c 100644
> --- a/tests/docker/dockerfiles/debian-native.docker
> +++ b/tests/docker/dockerfiles/debian-native.docker
> @@ -1,7 +1,7 @@
>  #
>  # Docker Debian Native
>  #
> -# This this intended to build QEMU on native host systems. Debian is
> +# This is intended to build QEMU on native host systems. Debian is
>  # chosen due to the broadest range on supported host systems for QEMU.
>  #
>  # This docker target is based on the docker.io Debian Bullseye base
> -- 
> 2.31.1
> 
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



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

* Re: [PATCH] trivial: Fix duplicated words
  2022-07-22 15:03 ` Daniel P. Berrangé
@ 2022-07-22 15:07   ` Thomas Huth
  2022-07-22 15:08     ` Daniel P. Berrangé
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Huth @ 2022-07-22 15:07 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: qemu-devel, qemu-trivial

On 22/07/2022 17.03, Daniel P. Berrangé wrote:
> On Fri, Jul 22, 2022 at 04:58:59PM +0200, Thomas Huth wrote:
>> Some files wrongly contain the same word twice in a row.
>> One of them should be removed or replaced.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   Removing duplicated words seems to be the new hip trend on the
>>   Linux kernel mailing lists - so let's be hip in QEMU land, too! ;-)
> 
> I've got patches proposed for this, as well as test to detect it:
> 
> https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg01405.html
> https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg01403.html
> 
> though I'm not checking 'this this' or 'a a'

Ah, ok! Sorry, I should have had a closer look at that series...

So never mind this patch here - but what do we do about "this" and "a" ? 
Shall I respin my patch limited to those two words, or do you want to 
include it in your series?

  Thomas



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

* Re: [PATCH] trivial: Fix duplicated words
  2022-07-22 15:07   ` Thomas Huth
@ 2022-07-22 15:08     ` Daniel P. Berrangé
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel P. Berrangé @ 2022-07-22 15:08 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-devel, qemu-trivial

On Fri, Jul 22, 2022 at 05:07:08PM +0200, Thomas Huth wrote:
> On 22/07/2022 17.03, Daniel P. Berrangé wrote:
> > On Fri, Jul 22, 2022 at 04:58:59PM +0200, Thomas Huth wrote:
> > > Some files wrongly contain the same word twice in a row.
> > > One of them should be removed or replaced.
> > > 
> > > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > > ---
> > >   Removing duplicated words seems to be the new hip trend on the
> > >   Linux kernel mailing lists - so let's be hip in QEMU land, too! ;-)
> > 
> > I've got patches proposed for this, as well as test to detect it:
> > 
> > https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg01405.html
> > https://lists.gnu.org/archive/html/qemu-devel/2022-07/msg01403.html
> > 
> > though I'm not checking 'this this' or 'a a'
> 
> Ah, ok! Sorry, I should have had a closer look at that series...
> 
> So never mind this patch here - but what do we do about "this" and "a" ?
> Shall I respin my patch limited to those two words, or do you want to
> include it in your series?

I don't mind if your patches merge now regardless actually, and I'll
rebase, since it'll likely take me longer to deal with the broader
review feedback on mine.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



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

end of thread, other threads:[~2022-07-22 15:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-22 14:58 [PATCH] trivial: Fix duplicated words Thomas Huth
2022-07-22 15:03 ` Daniel P. Berrangé
2022-07-22 15:07   ` Thomas Huth
2022-07-22 15:08     ` Daniel P. Berrangé

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.