From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
Date: Thu, 2 Feb 2017 15:15:46 +0000 [thread overview]
Message-ID: <20170202151543.GD4603@work-vm> (raw)
In-Reply-To: <20170202150530.1025-1-pbonzini@redhat.com>
* Paolo Bonzini (pbonzini@redhat.com) wrote:
> The replication feature is a small amount of code, does not
> require any external library and unless used does not add
> anything to the guest's attack surface. Since any extra
> configure option affects maintainability on the other hand
> and is subject to bit rot, I think there is no need to
> make it configurable.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> Sending as RFC to start discussion because I know
> Dave Gilbert disagrees. :)
Yep!
I started thinking about this for two other cases:
a) I noticed you'd removed the config for COLO
b) I was thinking of adding a config to disable old-school
block migration which we've had downstream for ages.
I think people like being able to disable features they're not
using in their builds; certainly we do downstream and if we do I don't
see why others won't - perhaps for different reasons.
While it's true block replication probably doesn't add to the
guest-visible attack surface, if someone was trying to audit
what they were running it would still be something they'd have
to check, and which it's easier if compiled out.
Dave
> Makefile.objs | 2 +-
> block/Makefile.objs | 2 +-
> configure | 11 -----------
> tests/Makefile.include | 2 +-
> 4 files changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/Makefile.objs b/Makefile.objs
> index 01cef86..d834906 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -15,7 +15,7 @@ block-obj-$(CONFIG_POSIX) += aio-posix.o
> block-obj-$(CONFIG_WIN32) += aio-win32.o
> block-obj-y += block/
> block-obj-y += qemu-io-cmds.o
> -block-obj-$(CONFIG_REPLICATION) += replication.o
> +block-obj-y += replication.o
>
> block-obj-m = block/
>
> diff --git a/block/Makefile.objs b/block/Makefile.objs
> index c6bd14e..fd099a6 100644
> --- a/block/Makefile.objs
> +++ b/block/Makefile.objs
> @@ -24,7 +24,7 @@ block-obj-$(CONFIG_LIBSSH2) += ssh.o
> block-obj-y += accounting.o dirty-bitmap.o
> block-obj-y += write-threshold.o
> block-obj-y += backup.o
> -block-obj-$(CONFIG_REPLICATION) += replication.o
> +block-obj-y += replication.o
>
> block-obj-y += crypto.o
>
> diff --git a/configure b/configure
> index 86fd833..0cb124e 100755
> --- a/configure
> +++ b/configure
> @@ -320,7 +320,6 @@ libssh2=""
> numa=""
> tcmalloc="no"
> jemalloc="no"
> -replication="yes"
>
> # parse CC options first
> for opt do
> @@ -1166,10 +1165,6 @@ for opt do
> ;;
> --enable-jemalloc) jemalloc="yes"
> ;;
> - --disable-replication) replication="no"
> - ;;
> - --enable-replication) replication="yes"
> - ;;
> *)
> echo "ERROR: unknown option $opt"
> echo "Try '$0 --help' for more information"
> @@ -1402,7 +1397,6 @@ disabled with --disable-FEATURE, default is enabled if available:
> numa libnuma support
> tcmalloc tcmalloc support
> jemalloc jemalloc support
> - replication replication support
>
> NOTE: The object files are built at the place where configure is launched
> EOF
> @@ -5113,7 +5107,6 @@ echo "NUMA host support $numa"
> echo "tcmalloc support $tcmalloc"
> echo "jemalloc support $jemalloc"
> echo "avx2 optimization $avx2_opt"
> -echo "replication support $replication"
>
> if test "$sdl_too_old" = "yes"; then
> echo "-> Your SDL version is too old - please upgrade to have SDL support"
> @@ -5711,10 +5704,6 @@ if test "$have_rtnetlink" = "yes" ; then
> echo "CONFIG_RTNETLINK=y" >> $config_host_mak
> fi
>
> -if test "$replication" = "yes" ; then
> - echo "CONFIG_REPLICATION=y" >> $config_host_mak
> -fi
> -
> if test "$have_af_vsock" = "yes" ; then
> echo "CONFIG_AF_VSOCK=y" >> $config_host_mak
> fi
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 33b4f88..77dc08f 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -115,7 +115,7 @@ check-unit-y += tests/test-crypto-xts$(EXESUF)
> check-unit-y += tests/test-crypto-block$(EXESUF)
> gcov-files-test-logging-y = tests/test-logging.c
> check-unit-y += tests/test-logging$(EXESUF)
> -check-unit-$(CONFIG_REPLICATION) += tests/test-replication$(EXESUF)
> +check-unit-y += tests/test-replication$(EXESUF)
> check-unit-y += tests/test-bufferiszero$(EXESUF)
> gcov-files-check-bufferiszero-y = util/bufferiszero.c
> check-unit-y += tests/test-uuid$(EXESUF)
> --
> 2.9.3
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2017-02-02 15:15 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-02 15:05 [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication Paolo Bonzini
2017-02-02 15:15 ` Dr. David Alan Gilbert [this message]
2017-02-03 15:00 ` Stefan Hajnoczi
2017-02-03 17:08 ` Paolo Bonzini
2017-02-06 11:57 ` Dr. David Alan Gilbert
2017-03-03 20:34 ` Bruce Rogers
2017-03-03 21:26 ` Paolo Bonzini
2017-03-06 9:08 ` Dr. David Alan Gilbert
2017-03-06 10:03 ` Zhang Chen
2017-03-06 12:54 ` Paolo Bonzini
2017-03-07 3:50 ` Zhang Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170202151543.GD4603@work-vm \
--to=dgilbert@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).