[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--di
From: |
Bruce Rogers |
Subject: |
Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication |
Date: |
Fri, 03 Mar 2017 13:34:21 -0700 |
>>> On 2/6/2017 at 4:57 AM, <address@hidden> wrote:
> * Paolo Bonzini (address@hidden) wrote:
>>
>>
>> On 03/02/2017 07:00, Stefan Hajnoczi wrote:
>> > On Thu, Feb 02, 2017 at 07:05:30AM ‑0800, Paolo Bonzini 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.
>> >
>> > I think the current state is good: replication is enabled by default but
>> > can be compiled out if desired.
>> >
>> > Downstreams may not be comfortable supporting this feature yet since
>> > it's incomplete. It's fair to offer an option to disable it, otherwise
>> > downstreams will have to patch this themselves.
>>
>> I understand‑‑‑I just am not sure where to draw the line because there's
>> plenty of other incomplete features, hence the RFC. For example,
>> record/replay cannot be enabled or disabled on the configure command
>> line. That was the case even in the beginning, where it didn't support
>> either block or character device replay.
>
> The line is certainly fuzzy, but I think it's worth making the following
> type of things configurable:
> Features that have a large chunk of code
> ‑ dont lets try and configure tiny things on and off
> That can be trivially configured
> ‑ lets not put big chunks of code around making them configurable
> and that are incomplete
> or are unused by large chunks of the users
>
> Dave
>
>> ‑‑enable‑coroutine‑pool is a relic of when Windows builds needed it, but
>> all other ‑‑enable‑* options require an external library or at least a
>> specific operating system. See for example this patch:
>>
>> commit 52b53c04faab9f7a9879c8dc014930649a3e698d
>> Author: Fam Zheng <address@hidden>
>> Date: Wed Sep 10 14:17:51 2014 +0800
>>
>> block: Always compile virtio‑blk dataplane
>>
>> Dataplane doesn't depend on linux‑aio any more, so we don't need the
>> compiling condition now.
>>
>> Configure options are kept but just print a message.
>>
>> Signed‑off‑by: Fam Zheng <address@hidden>
>> Reviewed‑by: Paolo Bonzini <address@hidden>
>> Message‑id: address@hidden
>> Signed‑off‑by: Stefan Hajnoczi <address@hidden>
>>
>>
>> I would actually prefer to remove many of the latter
>> (‑‑enable‑vhost‑net, ‑‑enable‑vhost‑scsi, ‑‑enable‑vhost‑socket) and
>> just use default‑configs. We are already doing it for ivshmem for example:
>>
>> CONFIG_IVSHMEM=$(CONFIG_EVENTFD)
>>
>> Paolo
> ‑‑
> Dr. David Alan Gilbert / address@hidden / Manchester, UK
Was there ever a conclusion here? The reason I ask is that I see that currently
using --disable-replication fails for me as follows:
# ./configure --disable-replication
...
# make
...
make all-recursive
Making all in pixman
make[3]: Nothing to be done for 'all'.
Making all in demos
make[3]: Nothing to be done for 'all'.
Making all in test
make[3]: Nothing to be done for 'all'.
CHK version_gen.h
LINK aarch64-softmmu/qemu-system-aarch64
../migration/colo.o: In function `qmp_query_xen_replication_status':
/home/brogers/osr/git/qemu/migration/colo.c:181: undefined reference to
`replication_get_error_all'
../migration/colo.o: In function `qmp_xen_set_replication':
/home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to
`replication_stop_all'
/home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to
`replication_stop_all'
/home/brogers/osr/git/qemu/migration/colo.c:167: undefined reference to
`replication_start_all'
../migration/colo.o: In function `qmp_xen_colo_do_checkpoint':
/ho
me/brogers/osr/git/qemu/migration/colo.c:196: undefined reference to
`replication_do_checkpoint_all'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:208: qemu-system-aarch64] Error 1
make: *** [Makefile:322: subdir-aarch64-softmmu] Error 2
--
Bruce
- Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication,
Bruce Rogers <=