[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v3 01/32] blockdev: prepare iSCSI b
From: |
Fam Zheng |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v3 01/32] blockdev: prepare iSCSI block driver for dynamic loading |
Date: |
Wed, 6 Jul 2016 10:41:02 +0800 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Tue, 07/05 11:24, Colin Lord wrote:
> This commit moves the initialization of the QemuOptsList qemu_iscsi_opts
> struct out of block/iscsi.c in order to allow the iscsi module to be
> dynamically loaded.
>
> Signed-off-by: Colin Lord <address@hidden>
> ---
> block/iscsi.c | 36 ------------------------------------
> vl.c | 38 ++++++++++++++++++++++++++++++++++++++
> 2 files changed, 38 insertions(+), 36 deletions(-)
>
> diff --git a/block/iscsi.c b/block/iscsi.c
> index 9bb5ff6..8246075 100644
> --- a/block/iscsi.c
> +++ b/block/iscsi.c
> @@ -1880,45 +1880,9 @@ static BlockDriver bdrv_iscsi = {
> .bdrv_attach_aio_context = iscsi_attach_aio_context,
> };
>
> -static QemuOptsList qemu_iscsi_opts = {
> - .name = "iscsi",
> - .head = QTAILQ_HEAD_INITIALIZER(qemu_iscsi_opts.head),
> - .desc = {
> - {
> - .name = "user",
> - .type = QEMU_OPT_STRING,
> - .help = "username for CHAP authentication to target",
> - },{
> - .name = "password",
> - .type = QEMU_OPT_STRING,
> - .help = "password for CHAP authentication to target",
> - },{
> - .name = "password-secret",
> - .type = QEMU_OPT_STRING,
> - .help = "ID of the secret providing password for CHAP "
> - "authentication to target",
> - },{
> - .name = "header-digest",
> - .type = QEMU_OPT_STRING,
> - .help = "HeaderDigest setting. "
> - "{CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}",
> - },{
> - .name = "initiator-name",
> - .type = QEMU_OPT_STRING,
> - .help = "Initiator iqn name to use when connecting",
> - },{
> - .name = "timeout",
> - .type = QEMU_OPT_NUMBER,
> - .help = "Request timeout in seconds (default 0 = no timeout)",
> - },
> - { /* end of list */ }
> - },
> -};
> -
> static void iscsi_block_init(void)
> {
> bdrv_register(&bdrv_iscsi);
> - qemu_add_opts(&qemu_iscsi_opts);
> }
>
> block_init(iscsi_block_init);
> diff --git a/vl.c b/vl.c
> index 9bb7f4c..cb640c2 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -506,6 +506,41 @@ static QemuOptsList qemu_fw_cfg_opts = {
> },
> };
>
> +static QemuOptsList qemu_iscsi_opts = {
> + .name = "iscsi",
> + .head = QTAILQ_HEAD_INITIALIZER(qemu_iscsi_opts.head),
> + .desc = {
> + {
> + .name = "user",
> + .type = QEMU_OPT_STRING,
> + .help = "username for CHAP authentication to target",
> + },{
> + .name = "password",
> + .type = QEMU_OPT_STRING,
> + .help = "password for CHAP authentication to target",
> + },{
> + .name = "password-secret",
> + .type = QEMU_OPT_STRING,
> + .help = "ID of the secret providing password for CHAP "
> + "authentication to target",
> + },{
> + .name = "header-digest",
> + .type = QEMU_OPT_STRING,
> + .help = "HeaderDigest setting. "
> + "{CRC32C|CRC32C-NONE|NONE-CRC32C|NONE}",
> + },{
> + .name = "initiator-name",
> + .type = QEMU_OPT_STRING,
> + .help = "Initiator iqn name to use when connecting",
> + },{
> + .name = "timeout",
> + .type = QEMU_OPT_NUMBER,
> + .help = "Request timeout in seconds (default 0 = no timeout)",
> + },
> + { /* end of list */ }
> + },
> +};
> +
> /**
> * Get machine options
> *
> @@ -2982,6 +3017,9 @@ int main(int argc, char **argv, char **envp)
> qemu_add_opts(&qemu_icount_opts);
> qemu_add_opts(&qemu_semihosting_config_opts);
> qemu_add_opts(&qemu_fw_cfg_opts);
> +#ifdef CONFIG_LIBISCSI
> + qemu_add_opts(&qemu_iscsi_opts);
> +#endif
> module_call_init(MODULE_INIT_OPTS);
>
> runstate_init();
> --
> 2.5.5
>
>
Reviewed-by: Fam Zheng <address@hidden>
- [Qemu-block] [PATCH v3 00/32] Dynamic module loading for block drivers, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 01/32] blockdev: prepare iSCSI block driver for dynamic loading, Colin Lord, 2016/07/05
- Re: [Qemu-block] [Qemu-devel] [PATCH v3 01/32] blockdev: prepare iSCSI block driver for dynamic loading,
Fam Zheng <=
- [Qemu-block] [PATCH v3 05/32] blockdev: Move cloop probe to its own file, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 02/32] blockdev: Add dynamic generation of module_block.h, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 03/32] blockdev: Add dynamic module loading for block drivers, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 06/32] blockdev: Move luks probe to its own file, Colin Lord, 2016/07/05