Skip to content

Commit 609f45e

Browse files
XanClickevmw
authored andcommitted
block: Add block-specific QDict header
There are numerous QDict functions that have been introduced for and are used only by the block layer. Move their declarations into an own header file to reflect that. While qdict_extract_subqdict() is in fact used outside of the block layer (in util/qemu-config.c), it is still a function related very closely to how the block layer works with nested QDicts, namely by sometimes flattening them. Therefore, its declaration is put into this header as well and util/qemu-config.c includes it with a comment stating exactly which function it needs. Suggested-by: Markus Armbruster <[email protected]> Signed-off-by: Max Reitz <[email protected]> Message-Id: <[email protected]> [Copyright note tweaked, superfluous includes dropped] Signed-off-by: Markus Armbruster <[email protected]> Reviewed-by: Kevin Wolf <[email protected]> Signed-off-by: Kevin Wolf <[email protected]>
1 parent deadbb8 commit 609f45e

26 files changed

+56
-17
lines changed

block.c

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "block/block_int.h"
2828
#include "block/blockjob.h"
2929
#include "block/nbd.h"
30+
#include "block/qdict.h"
3031
#include "qemu/error-report.h"
3132
#include "module_block.h"
3233
#include "qemu/module.h"

block/gluster.c

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "qemu/osdep.h"
1212
#include <glusterfs/api/glfs.h>
1313
#include "block/block_int.h"
14+
#include "block/qdict.h"
1415
#include "qapi/error.h"
1516
#include "qapi/qmp/qdict.h"
1617
#include "qapi/qmp/qerror.h"

block/iscsi.c

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include "qemu/bitops.h"
3434
#include "qemu/bitmap.h"
3535
#include "block/block_int.h"
36+
#include "block/qdict.h"
3637
#include "scsi/constants.h"
3738
#include "qemu/iov.h"
3839
#include "qemu/option.h"

block/nbd.c

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
#include "qemu/osdep.h"
3030
#include "nbd-client.h"
31+
#include "block/qdict.h"
3132
#include "qapi/error.h"
3233
#include "qemu/uri.h"
3334
#include "block/block_int.h"

block/nfs.c

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include "qemu/error-report.h"
3030
#include "qapi/error.h"
3131
#include "block/block_int.h"
32+
#include "block/qdict.h"
3233
#include "trace.h"
3334
#include "qemu/iov.h"
3435
#include "qemu/option.h"

block/parallels.c

+1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "qemu/osdep.h"
3232
#include "qapi/error.h"
3333
#include "block/block_int.h"
34+
#include "block/qdict.h"
3435
#include "sysemu/block-backend.h"
3536
#include "qemu/module.h"
3637
#include "qemu/option.h"

block/qcow.c

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "qapi/error.h"
2727
#include "qemu/error-report.h"
2828
#include "block/block_int.h"
29+
#include "block/qdict.h"
2930
#include "sysemu/block-backend.h"
3031
#include "qemu/module.h"
3132
#include "qemu/option.h"

block/qcow2.c

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
#include "qemu/osdep.h"
2626
#include "block/block_int.h"
27+
#include "block/qdict.h"
2728
#include "sysemu/block-backend.h"
2829
#include "qemu/module.h"
2930
#include <zlib.h>

block/qed.c

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
*/
1414

1515
#include "qemu/osdep.h"
16+
#include "block/qdict.h"
1617
#include "qapi/error.h"
1718
#include "qemu/timer.h"
1819
#include "qemu/bswap.h"

block/quorum.c

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "qemu/cutils.h"
1818
#include "qemu/option.h"
1919
#include "block/block_int.h"
20+
#include "block/qdict.h"
2021
#include "qapi/error.h"
2122
#include "qapi/qapi-events-block.h"
2223
#include "qapi/qmp/qdict.h"

block/rbd.c

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "qemu/error-report.h"
1919
#include "qemu/option.h"
2020
#include "block/block_int.h"
21+
#include "block/qdict.h"
2122
#include "crypto/secret.h"
2223
#include "qemu/cutils.h"
2324
#include "qapi/qmp/qstring.h"

block/sheepdog.c

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include "qemu/option.h"
2525
#include "qemu/sockets.h"
2626
#include "block/block_int.h"
27+
#include "block/qdict.h"
2728
#include "sysemu/block-backend.h"
2829
#include "qemu/bitops.h"
2930
#include "qemu/cutils.h"

block/snapshot.c

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "qemu/osdep.h"
2626
#include "block/snapshot.h"
2727
#include "block/block_int.h"
28+
#include "block/qdict.h"
2829
#include "qapi/error.h"
2930
#include "qapi/qmp/qdict.h"
3031
#include "qapi/qmp/qerror.h"

block/ssh.c

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <libssh2_sftp.h>
2929

3030
#include "block/block_int.h"
31+
#include "block/qdict.h"
3132
#include "qapi/error.h"
3233
#include "qemu/error-report.h"
3334
#include "qemu/option.h"

block/vhdx.c

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "qemu/osdep.h"
1919
#include "qapi/error.h"
2020
#include "block/block_int.h"
21+
#include "block/qdict.h"
2122
#include "sysemu/block-backend.h"
2223
#include "qemu/module.h"
2324
#include "qemu/option.h"

block/vpc.c

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "qemu/osdep.h"
2727
#include "qapi/error.h"
2828
#include "block/block_int.h"
29+
#include "block/qdict.h"
2930
#include "sysemu/block-backend.h"
3031
#include "qemu/module.h"
3132
#include "qemu/option.h"

block/vvfat.c

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include <dirent.h>
2828
#include "qapi/error.h"
2929
#include "block/block_int.h"
30+
#include "block/qdict.h"
3031
#include "qemu/module.h"
3132
#include "qemu/option.h"
3233
#include "qemu/bswap.h"

block/vxhs.c

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <qnio/qnio_api.h>
1313
#include <sys/param.h>
1414
#include "block/block_int.h"
15+
#include "block/qdict.h"
1516
#include "qapi/qmp/qerror.h"
1617
#include "qapi/qmp/qdict.h"
1718
#include "qapi/qmp/qstring.h"

blockdev.c

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include "sysemu/blockdev.h"
3636
#include "hw/block/block.h"
3737
#include "block/blockjob.h"
38+
#include "block/qdict.h"
3839
#include "block/throttle-groups.h"
3940
#include "monitor/monitor.h"
4041
#include "qemu/error-report.h"

include/block/qdict.h

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Special QDict functions used by the block layer
3+
*
4+
* Copyright (c) 2013-2018 Red Hat, Inc.
5+
*
6+
* This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
7+
* See the COPYING.LIB file in the top-level directory.
8+
*/
9+
10+
#ifndef BLOCK_QDICT_H
11+
#define BLOCK_QDICT_H
12+
13+
#include "qapi/qmp/qdict.h"
14+
15+
void qdict_copy_default(QDict *dst, QDict *src, const char *key);
16+
void qdict_set_default_str(QDict *dst, const char *key, const char *val);
17+
18+
void qdict_join(QDict *dest, QDict *src, bool overwrite);
19+
20+
void qdict_extract_subqdict(QDict *src, QDict **dst, const char *start);
21+
void qdict_array_split(QDict *src, QList **dst);
22+
int qdict_array_entries(QDict *src, const char *subqdict);
23+
QObject *qdict_crumple(const QDict *src, Error **errp);
24+
void qdict_flatten(QDict *qdict);
25+
26+
typedef struct QDictRenames {
27+
const char *from;
28+
const char *to;
29+
} QDictRenames;
30+
bool qdict_rename_keys(QDict *qdict, const QDictRenames *renames, Error **errp);
31+
32+
#endif

include/qapi/qmp/qdict.h

-17
Original file line numberDiff line numberDiff line change
@@ -67,23 +67,6 @@ int64_t qdict_get_try_int(const QDict *qdict, const char *key,
6767
bool qdict_get_try_bool(const QDict *qdict, const char *key, bool def_value);
6868
const char *qdict_get_try_str(const QDict *qdict, const char *key);
6969

70-
void qdict_copy_default(QDict *dst, QDict *src, const char *key);
71-
void qdict_set_default_str(QDict *dst, const char *key, const char *val);
72-
7370
QDict *qdict_clone_shallow(const QDict *src);
74-
void qdict_flatten(QDict *qdict);
75-
76-
void qdict_extract_subqdict(QDict *src, QDict **dst, const char *start);
77-
void qdict_array_split(QDict *src, QList **dst);
78-
int qdict_array_entries(QDict *src, const char *subqdict);
79-
QObject *qdict_crumple(const QDict *src, Error **errp);
80-
81-
void qdict_join(QDict *dest, QDict *src, bool overwrite);
82-
83-
typedef struct QDictRenames {
84-
const char *from;
85-
const char *to;
86-
} QDictRenames;
87-
bool qdict_rename_keys(QDict *qdict, const QDictRenames *renames, Error **errp);
8871

8972
#endif /* QDICT_H */

qobject/qdict.c

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
*/
1212

1313
#include "qemu/osdep.h"
14+
#include "block/qdict.h"
1415
#include "qapi/qmp/qnum.h"
1516
#include "qapi/qmp/qdict.h"
1617
#include "qapi/qmp/qbool.h"

tests/check-qdict.c

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
*/
1212

1313
#include "qemu/osdep.h"
14+
#include "block/qdict.h"
1415
#include "qapi/qmp/qdict.h"
1516
#include "qapi/qmp/qlist.h"
1617
#include "qapi/qmp/qnum.h"

tests/check-qobject.c

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*/
99

1010
#include "qemu/osdep.h"
11+
#include "block/qdict.h"
1112
#include "qapi/qmp/qbool.h"
1213
#include "qapi/qmp/qdict.h"
1314
#include "qapi/qmp/qlist.h"

tests/test-replication.c

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "qemu/option.h"
1616
#include "replication.h"
1717
#include "block/block_int.h"
18+
#include "block/qdict.h"
1819
#include "sysemu/block-backend.h"
1920

2021
#define IMG_SIZE (64 * 1024 * 1024)

util/qemu-config.c

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include "qemu/osdep.h"
2+
#include "block/qdict.h" /* for qdict_extract_subqdict() */
23
#include "qapi/error.h"
34
#include "qapi/qapi-commands-misc.h"
45
#include "qapi/qmp/qdict.h"

0 commit comments

Comments
 (0)