[RFC REPOST 0/7] introduce support for live appid updates

Michal Prívozník mprivozn at redhat.com
Fri Sep 10 11:49:16 UTC 2021


On 9/9/21 6:13 PM, Pavel Hrdina wrote:
> Rebased on top of current master.
> 
> I'm posting this as an RFC mainly because I'm not sure how to model
> the new API. This patches introduce a new naive API that will change
> only the APPID and nothing else.
> 
> Currently there are no other known features related to Fibre Channel
> resources so this non-extendable API will be sufficient, however the
> appid lives in <resource> element in the XML where we currently have
> root cgroup partition. Even though changing the partition will not be
> supported and we don't know about anything else that could be placed
> here it doesn't mean it will not happen in the future. In that case
> we would have to add new API as well.
> 
> So I'm wondering if we should create a more generic API that would take
> typed parameters as arguments:
> 
> int virDomainSetResource(virDomainPtr domain,
>                          virTypedParameterPtr params,
>                          int nparams,
>                          unsigned int flags)

I think having the spcific API as you implemented is fine for now. We
did not have much in <resource/> until now and I don't think we will in
foreseeable future.

> 
> Any ideas?
> 
> Pavel Hrdina (7):
>   conf: extract appid validation to virDomainDefResourceAppidValidate
>   cgroup: extract setting fibre channel appid into virCgroupSetFCAppid
>   virCgroupSetFCAppid: properly handle when appid is NULL
>   src: introduce virDomainSetFibreChannelAppid API
>   remote: add RPC support for the virDomainSetFibreChannelAppid API
>   qemu: implement virDomainSetFibreChannelAppid API
>   tools: introduce virsh setappid command
> 
>  docs/manpages/virsh.rst          | 14 ++++++
>  include/libvirt/libvirt-domain.h |  4 ++
>  src/conf/domain_validate.c       | 42 ++++++++++--------
>  src/conf/domain_validate.h       |  2 +
>  src/driver-hypervisor.h          |  6 +++
>  src/libvirt-domain.c             | 44 +++++++++++++++++++
>  src/libvirt_private.syms         |  2 +
>  src/libvirt_public.syms          |  1 +
>  src/qemu/qemu_cgroup.c           | 17 +-------
>  src/qemu/qemu_driver.c           | 75 ++++++++++++++++++++++++++++++++
>  src/remote/remote_driver.c       |  1 +
>  src/remote/remote_protocol.x     | 14 +++++-
>  src/remote_protocol-structs      |  6 +++
>  src/util/vircgroup.c             | 24 ++++++++++
>  src/util/vircgroup.h             |  3 ++
>  tools/virsh-domain.c             | 65 +++++++++++++++++++++++++++
>  16 files changed, 286 insertions(+), 34 deletions(-)
> 

Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

Michal




More information about the libvir-list mailing list