diff mbox series

system/vl: Use global &bdo_queue in configure_blockdev()

Message ID 20231009093152.51270-1-philmd@linaro.org
State New
Headers show
Series system/vl: Use global &bdo_queue in configure_blockdev() | expand

Commit Message

Philippe Mathieu-Daudé Oct. 9, 2023, 9:31 a.m. UTC
Commit d11bf9bf0f ("vl: Factor configure_blockdev() out of main()")
passed &bdo_queue as argument, but this isn't really necessary since
there is only one call, so we still use the global variable.

Dropping the &bdo_queue argument allows to silence this global shadow
warning:

  softmmu/vl.c:678:54: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
  static void configure_blockdev(BlockdevOptionsQueue *bdo_queue,
                                                       ^
  softmmu/vl.c:172:29: note: previous declaration is here
  static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
                              ^

Remove a spurious empty line.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 softmmu/vl.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

Comments

Markus Armbruster Oct. 9, 2023, 10:26 a.m. UTC | #1
Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Commit d11bf9bf0f ("vl: Factor configure_blockdev() out of main()")
> passed &bdo_queue as argument, but this isn't really necessary since
> there is only one call, so we still use the global variable.
>
> Dropping the &bdo_queue argument allows to silence this global shadow
> warning:
>
>   softmmu/vl.c:678:54: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
>   static void configure_blockdev(BlockdevOptionsQueue *bdo_queue,
>                                                        ^
>   softmmu/vl.c:172:29: note: previous declaration is here
>   static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);

Not sure this is an improvement.  Up to Paolo, I guess.

> Remove a spurious empty line.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Philippe Mathieu-Daudé Oct. 9, 2023, 11:54 a.m. UTC | #2
On 9/10/23 12:26, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@linaro.org> writes:
> 
>> Commit d11bf9bf0f ("vl: Factor configure_blockdev() out of main()")
>> passed &bdo_queue as argument, but this isn't really necessary since
>> there is only one call, so we still use the global variable.
>>
>> Dropping the &bdo_queue argument allows to silence this global shadow
>> warning:
>>
>>    softmmu/vl.c:678:54: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
>>    static void configure_blockdev(BlockdevOptionsQueue *bdo_queue,
>>                                                         ^
>>    softmmu/vl.c:172:29: note: previous declaration is here
>>    static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
> 
> Not sure this is an improvement.  Up to Paolo, I guess.

Any alternative suggestion? I'm looking at enabling -Wshadow with Clang
to avoid Clang users not getting the -Wshadow=local warnings until a
maintainer test their patches on CI.
Markus Armbruster Oct. 9, 2023, 12:41 p.m. UTC | #3
Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> On 9/10/23 12:26, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé <philmd@linaro.org> writes:
>> 
>>> Commit d11bf9bf0f ("vl: Factor configure_blockdev() out of main()")
>>> passed &bdo_queue as argument, but this isn't really necessary since
>>> there is only one call, so we still use the global variable.
>>>
>>> Dropping the &bdo_queue argument allows to silence this global shadow
>>> warning:
>>>
>>>    softmmu/vl.c:678:54: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
>>>    static void configure_blockdev(BlockdevOptionsQueue *bdo_queue,
>>>                                                         ^
>>>    softmmu/vl.c:172:29: note: previous declaration is here
>>>    static BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
>> Not sure this is an improvement.  Up to Paolo, I guess.
>
> Any alternative suggestion? I'm looking at enabling -Wshadow with Clang
> to avoid Clang users not getting the -Wshadow=local warnings until a
> maintainer test their patches on CI.

Rename to @bdos?
diff mbox series

Patch

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 98e071e63b..bc283b9fd4 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -674,8 +674,7 @@  static void default_drive(int enable, int snapshot, BlockInterfaceType type,
 
 }
 
-static void configure_blockdev(BlockdevOptionsQueue *bdo_queue,
-                               MachineClass *machine_class, int snapshot)
+static void configure_blockdev(MachineClass *machine_class, int snapshot)
 {
     /*
      * If the currently selected machine wishes to override the
@@ -688,10 +687,10 @@  static void configure_blockdev(BlockdevOptionsQueue *bdo_queue,
     }
 
     /* open the virtual block devices */
-    while (!QSIMPLEQ_EMPTY(bdo_queue)) {
-        BlockdevOptionsQueueEntry *bdo = QSIMPLEQ_FIRST(bdo_queue);
+    while (!QSIMPLEQ_EMPTY(&bdo_queue)) {
+        BlockdevOptionsQueueEntry *bdo = QSIMPLEQ_FIRST(&bdo_queue);
 
-        QSIMPLEQ_REMOVE_HEAD(bdo_queue, entry);
+        QSIMPLEQ_REMOVE_HEAD(&bdo_queue, entry);
         loc_push_restore(&bdo->loc);
         qmp_blockdev_add(bdo->bdo, &error_fatal);
         loc_pop(&bdo->loc);
@@ -712,7 +711,6 @@  static void configure_blockdev(BlockdevOptionsQueue *bdo_queue,
                   CDROM_OPTS);
     default_drive(default_floppy, snapshot, IF_FLOPPY, 0, FD_OPTS);
     default_drive(default_sdcard, snapshot, IF_SD, 0, SD_OPTS);
-
 }
 
 static QemuOptsList qemu_smp_opts = {
@@ -1961,7 +1959,7 @@  static void qemu_create_early_backends(void)
      * Note: we need to create audio and block backends before
      * setting machine properties, so they can be referred to.
      */
-    configure_blockdev(&bdo_queue, machine_class, snapshot);
+    configure_blockdev(machine_class, snapshot);
     audio_init_audiodevs();
 }