|
From: | Vladimir Sementsov-Ogievskiy |
Subject: | Re: [PATCH] replication: compile out some staff when replication is not configured |
Date: | Thu, 20 Apr 2023 01:11:50 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 |
On 17.04.23 20:19, Vladimir Sementsov-Ogievskiy wrote:
On 16.04.23 21:44, Zhang, Chen wrote:-----Original Message----- From: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Sent: Friday, April 14, 2023 5:51 PM To: Zhang, Chen <chen.zhang@intel.com>; qemu-devel@nongnu.org Cc: qemu-block@nongnu.org; pbonzini@redhat.com; armbru@redhat.com; eblake@redhat.com; jasowang@redhat.com; dgilbert@redhat.com; quintela@redhat.com; hreitz@redhat.com; kwolf@redhat.com; Zhang, Hailiang <zhanghailiang@xfusion.com>; lizhijian@fujitsu.com; wencongyang2@huawei.com; xiechanglong.d@gmail.com; den- plotnikov@yandex-team.ru Subject: Re: [PATCH] replication: compile out some staff when replication is not configured On 14.04.23 04:24, Zhang, Chen wrote:So, if I want to have an option to disable all COLO modules, do you mean it should be additional --disable-colo option? Or better keep one option -- disable-replication (and, maybe just rename to to --disable-colo)?I think keep the option --disable-replication is enough. Generally speaking, these three modules do not belong to COLO, It hasbeen decoupled at the time of design.Instead, COLO is formed when these three modules are used incombination. But it's not enough to me, I want to have a possibility to not build the subsystem I don't need.As I said, COLO not a specific subsystem, It is a usage of three general subsystems. Let's back to this patch, it try to not build block replication when not configured. It's OK. Although COLO may be the only user of replication, but can't assume all the COLO used subsystem not needed, even have a --disable-colo. For example in this patch disabled the net/filter-mirror/redirector.... Qemu network filter is a general framework with many submodules: filter-buffer/replay/mirror/rewriter..... Logically speaking, It is completely irrelevant with COLO.OK, understand now, thanks for explanation!
Hmm, OK, filters are separate. But what's the sense in COLO subsystem when replication is disabled? We have an explicit check in migration.c in migrate_caps_check(): #ifndef CONFIG_REPLICATION if (cap_list[MIGRATION_CAPABILITY_X_COLO]) { error_setg(errp, "QEMU compiled without replication module" " can't enable COLO"); error_append_hint(errp, "Please enable replication before COLO.\n"); return false; } #endif So, x-colo capability - an entry point to COLO can't be used anyway. So, no reason to build it in? -- Best regards, Vladimir
[Prev in Thread] | Current Thread | [Next in Thread] |