All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split
@ 2021-12-15 12:11 Emanuele Giuseppe Esposito
  2021-12-15 12:11 ` [PATCH v3 1/3] block_int: make bdrv_backing_overridden static Emanuele Giuseppe Esposito
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Emanuele Giuseppe Esposito @ 2021-12-15 12:11 UTC (permalink / raw)
  To: qemu-block
  Cc: Kevin Wolf, Emanuele Giuseppe Esposito, Markus Armbruster,
	qemu-devel, Hanna Reitz, Stefan Hajnoczi, Paolo Bonzini

These patches are taken from my old patches and feedback of
my series "block layer: split block APIs in global state and I/O".

The reason for a separate series is that the original one is
already too long, and these patches are just refactoring the code,
mainly deleting or moving functions in blockdev.h and block_int.h.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
v3:
* Apply Kevin comments, remove getter method added in v2 and do
  not touch drive_add().

v2:
* Apply Philippe comments, instead of renaming a make if_name
  public, create a getter method (discard old patch 2).

Emanuele Giuseppe Esposito (3):
  block_int: make bdrv_backing_overridden static
  include/sysemu/blockdev.h: remove drive_mark_claimed_by_board and
    inline drive_def
  include/sysemu/blockdev.h: remove drive_get_max_devs

 block.c                        |  4 +++-
 block/monitor/block-hmp-cmds.c |  2 +-
 blockdev.c                     | 24 +-----------------------
 include/block/block_int.h      |  3 ---
 include/sysemu/blockdev.h      |  3 ---
 softmmu/vl.c                   |  4 +++-
 6 files changed, 8 insertions(+), 32 deletions(-)

-- 
2.31.1



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

* [PATCH v3 1/3] block_int: make bdrv_backing_overridden static
  2021-12-15 12:11 [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split Emanuele Giuseppe Esposito
@ 2021-12-15 12:11 ` Emanuele Giuseppe Esposito
  2021-12-15 12:11 ` [PATCH v3 2/3] include/sysemu/blockdev.h: remove drive_mark_claimed_by_board and inline drive_def Emanuele Giuseppe Esposito
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Emanuele Giuseppe Esposito @ 2021-12-15 12:11 UTC (permalink / raw)
  To: qemu-block
  Cc: Kevin Wolf, Emanuele Giuseppe Esposito, Markus Armbruster,
	qemu-devel, Hanna Reitz, Stefan Hajnoczi, Paolo Bonzini

bdrv_backing_overridden is only used in block.c, so there is
no need to leave it in block_int.h

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 block.c                   | 4 +++-
 include/block/block_int.h | 3 ---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/block.c b/block.c
index 0ac5b163d2..10346b5011 100644
--- a/block.c
+++ b/block.c
@@ -103,6 +103,8 @@ static int bdrv_reopen_prepare(BDRVReopenState *reopen_state,
 static void bdrv_reopen_commit(BDRVReopenState *reopen_state);
 static void bdrv_reopen_abort(BDRVReopenState *reopen_state);
 
+static bool bdrv_backing_overridden(BlockDriverState *bs);
+
 /* If non-zero, use only whitelisted block drivers */
 static int use_bdrv_whitelist;
 
@@ -7475,7 +7477,7 @@ static bool append_strong_runtime_options(QDict *d, BlockDriverState *bs)
 /* Note: This function may return false positives; it may return true
  * even if opening the backing file specified by bs's image header
  * would result in exactly bs->backing. */
-bool bdrv_backing_overridden(BlockDriverState *bs)
+static bool bdrv_backing_overridden(BlockDriverState *bs)
 {
     if (bs->backing) {
         return strcmp(bs->auto_backing_file,
diff --git a/include/block/block_int.h b/include/block/block_int.h
index f4c75e8ba9..27008cfb22 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -1122,9 +1122,6 @@ BlockDriver *bdrv_probe_all(const uint8_t *buf, int buf_size,
 void bdrv_parse_filename_strip_prefix(const char *filename, const char *prefix,
                                       QDict *options);
 
-bool bdrv_backing_overridden(BlockDriverState *bs);
-
-
 /**
  * bdrv_add_aio_context_notifier:
  *
-- 
2.31.1



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

* [PATCH v3 2/3] include/sysemu/blockdev.h: remove drive_mark_claimed_by_board and inline drive_def
  2021-12-15 12:11 [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split Emanuele Giuseppe Esposito
  2021-12-15 12:11 ` [PATCH v3 1/3] block_int: make bdrv_backing_overridden static Emanuele Giuseppe Esposito
@ 2021-12-15 12:11 ` Emanuele Giuseppe Esposito
  2021-12-15 12:11 ` [PATCH v3 3/3] include/sysemu/blockdev.h: remove drive_get_max_devs Emanuele Giuseppe Esposito
  2021-12-16 12:00 ` [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split Kevin Wolf
  3 siblings, 0 replies; 5+ messages in thread
From: Emanuele Giuseppe Esposito @ 2021-12-15 12:11 UTC (permalink / raw)
  To: qemu-block
  Cc: Kevin Wolf, Emanuele Giuseppe Esposito, Markus Armbruster,
	qemu-devel, Hanna Reitz, Stefan Hajnoczi, Paolo Bonzini

drive_def is only a particular use case of
qemu_opts_parse_noisily, so it can be inlined.

Also remove drive_mark_claimed_by_board, as it is only defined
but not implemented (nor used) anywhere.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
 block/monitor/block-hmp-cmds.c | 2 +-
 blockdev.c                     | 7 +------
 include/sysemu/blockdev.h      | 2 --
 softmmu/vl.c                   | 4 +++-
 4 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/block/monitor/block-hmp-cmds.c b/block/monitor/block-hmp-cmds.c
index 2ac4aedfff..bfb3c043a0 100644
--- a/block/monitor/block-hmp-cmds.c
+++ b/block/monitor/block-hmp-cmds.c
@@ -101,7 +101,7 @@ void hmp_drive_add(Monitor *mon, const QDict *qdict)
         return;
     }
 
-    opts = drive_def(optstr);
+    opts = qemu_opts_parse_noisily(qemu_find_opts("drive"), optstr, false);
     if (!opts)
         return;
 
diff --git a/blockdev.c b/blockdev.c
index b35072644e..9839e234cb 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -197,17 +197,12 @@ static int drive_index_to_unit_id(BlockInterfaceType type, int index)
     return max_devs ? index % max_devs : index;
 }
 
-QemuOpts *drive_def(const char *optstr)
-{
-    return qemu_opts_parse_noisily(qemu_find_opts("drive"), optstr, false);
-}
-
 QemuOpts *drive_add(BlockInterfaceType type, int index, const char *file,
                     const char *optstr)
 {
     QemuOpts *opts;
 
-    opts = drive_def(optstr);
+    opts = qemu_opts_parse_noisily(qemu_find_opts("drive"), optstr, false);
     if (!opts) {
         return NULL;
     }
diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
index 32c2d6023c..b236425c6e 100644
--- a/include/sysemu/blockdev.h
+++ b/include/sysemu/blockdev.h
@@ -45,14 +45,12 @@ BlockBackend *blk_by_legacy_dinfo(DriveInfo *dinfo);
 void override_max_devs(BlockInterfaceType type, int max_devs);
 
 DriveInfo *drive_get(BlockInterfaceType type, int bus, int unit);
-void drive_mark_claimed_by_board(void);
 void drive_check_orphaned(void);
 DriveInfo *drive_get_by_index(BlockInterfaceType type, int index);
 int drive_get_max_bus(BlockInterfaceType type);
 int drive_get_max_devs(BlockInterfaceType type);
 DriveInfo *drive_get_next(BlockInterfaceType type);
 
-QemuOpts *drive_def(const char *optstr);
 QemuOpts *drive_add(BlockInterfaceType type, int index, const char *file,
                     const char *optstr);
 DriveInfo *drive_new(QemuOpts *arg, BlockInterfaceType block_default_type,
diff --git a/softmmu/vl.c b/softmmu/vl.c
index 1159a64bce..fbf12f64d2 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -2884,7 +2884,9 @@ void qemu_init(int argc, char **argv, char **envp)
                     break;
                 }
             case QEMU_OPTION_drive:
-                if (drive_def(optarg) == NULL) {
+                opts = qemu_opts_parse_noisily(qemu_find_opts("drive"),
+                                               optarg, false);
+                if (opts == NULL) {
                     exit(1);
                 }
                 break;
-- 
2.31.1



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

* [PATCH v3 3/3] include/sysemu/blockdev.h: remove drive_get_max_devs
  2021-12-15 12:11 [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split Emanuele Giuseppe Esposito
  2021-12-15 12:11 ` [PATCH v3 1/3] block_int: make bdrv_backing_overridden static Emanuele Giuseppe Esposito
  2021-12-15 12:11 ` [PATCH v3 2/3] include/sysemu/blockdev.h: remove drive_mark_claimed_by_board and inline drive_def Emanuele Giuseppe Esposito
@ 2021-12-15 12:11 ` Emanuele Giuseppe Esposito
  2021-12-16 12:00 ` [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split Kevin Wolf
  3 siblings, 0 replies; 5+ messages in thread
From: Emanuele Giuseppe Esposito @ 2021-12-15 12:11 UTC (permalink / raw)
  To: qemu-block
  Cc: Kevin Wolf, Emanuele Giuseppe Esposito, Markus Armbruster,
	qemu-devel, Hanna Reitz, Stefan Hajnoczi, Paolo Bonzini,
	Philippe Mathieu-Daudé

Remove drive_get_max_devs, as it is not used by anyone.

Last use was removed in commit 8f2d75e81d5
("hw: Drop superfluous special checks for orphaned -drive").

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 blockdev.c                | 17 -----------------
 include/sysemu/blockdev.h |  1 -
 2 files changed, 18 deletions(-)

diff --git a/blockdev.c b/blockdev.c
index 9839e234cb..5f332c6ebd 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -168,23 +168,6 @@ void blockdev_auto_del(BlockBackend *blk)
     }
 }
 
-/**
- * Returns the current mapping of how many units per bus
- * a particular interface can support.
- *
- *  A positive integer indicates n units per bus.
- *  0 implies the mapping has not been established.
- * -1 indicates an invalid BlockInterfaceType was given.
- */
-int drive_get_max_devs(BlockInterfaceType type)
-{
-    if (type >= IF_IDE && type < IF_COUNT) {
-        return if_max_devs[type];
-    }
-
-    return -1;
-}
-
 static int drive_index_to_bus_id(BlockInterfaceType type, int index)
 {
     int max_devs = if_max_devs[type];
diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
index b236425c6e..9e4c68b6ca 100644
--- a/include/sysemu/blockdev.h
+++ b/include/sysemu/blockdev.h
@@ -48,7 +48,6 @@ DriveInfo *drive_get(BlockInterfaceType type, int bus, int unit);
 void drive_check_orphaned(void);
 DriveInfo *drive_get_by_index(BlockInterfaceType type, int index);
 int drive_get_max_bus(BlockInterfaceType type);
-int drive_get_max_devs(BlockInterfaceType type);
 DriveInfo *drive_get_next(BlockInterfaceType type);
 
 QemuOpts *drive_add(BlockInterfaceType type, int index, const char *file,
-- 
2.31.1



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

* Re: [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split
  2021-12-15 12:11 [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split Emanuele Giuseppe Esposito
                   ` (2 preceding siblings ...)
  2021-12-15 12:11 ` [PATCH v3 3/3] include/sysemu/blockdev.h: remove drive_get_max_devs Emanuele Giuseppe Esposito
@ 2021-12-16 12:00 ` Kevin Wolf
  3 siblings, 0 replies; 5+ messages in thread
From: Kevin Wolf @ 2021-12-16 12:00 UTC (permalink / raw)
  To: Emanuele Giuseppe Esposito
  Cc: qemu-block, Markus Armbruster, qemu-devel, Hanna Reitz,
	Stefan Hajnoczi, Paolo Bonzini

Am 15.12.2021 um 13:11 hat Emanuele Giuseppe Esposito geschrieben:
> These patches are taken from my old patches and feedback of
> my series "block layer: split block APIs in global state and I/O".
> 
> The reason for a separate series is that the original one is
> already too long, and these patches are just refactoring the code,
> mainly deleting or moving functions in blockdev.h and block_int.h.
> 
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>

Thanks, applied to the block branch.

Kevin



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

end of thread, other threads:[~2021-12-16 12:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-15 12:11 [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split Emanuele Giuseppe Esposito
2021-12-15 12:11 ` [PATCH v3 1/3] block_int: make bdrv_backing_overridden static Emanuele Giuseppe Esposito
2021-12-15 12:11 ` [PATCH v3 2/3] include/sysemu/blockdev.h: remove drive_mark_claimed_by_board and inline drive_def Emanuele Giuseppe Esposito
2021-12-15 12:11 ` [PATCH v3 3/3] include/sysemu/blockdev.h: remove drive_get_max_devs Emanuele Giuseppe Esposito
2021-12-16 12:00 ` [PATCH v3 0/3] block: minor refactoring in preparation to the block layer API split 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.