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@xxxxxxxxxx> Michal