[PATCH v1 01/12] libxl: add API wrapper for libxl_domain_create_restore
Jim Fehlig
jfehlig at suse.com
Thu Mar 25 23:54:07 UTC 2021
On 3/22/21 4:28 AM, Daniel P. Berrangé wrote:
> On Thu, Mar 18, 2021 at 09:51:18PM -0600, Jim Fehlig wrote:
>> On 3/18/21 5:00 PM, Olaf Hering wrote:
>>> Am Thu, 18 Mar 2021 16:26:14 -0600
>>> schrieb Jim Fehlig <jfehlig at suse.com>:
>>>
>>>> Maybe libxlDomainCreateRestoreWrap?
>>>> The 'Wrap' suffix compliments the libxl_api_wrap.h name suggestion.
>>>
>>> "Naming conventions" does not cover API wrapping.
>>
>> I was referring to the use of '_' in the names. From the coding style doc:
>> "Underscores should not be used in function names". The style doc doesn't
>> dictate the words used to form function names, but does suggest a
>> vir$object$verb$subject pattern.
>>
>>> Some of the names are already taken, like libxl_domain_shutdown/libxlDomainShutdown.
>>
>> In hindsight I would have probably used the 'vir' prefix in the driver entry
>> points, e.g. virlibxlDomainShutdown (libxl_driver.c), giving some
>> flexibility for driver-internal function naming. There is nothing preventing
>> such change now, other than the future annoyance of backport conflicts.
>
> FWIW, in retrospect, I think we shouldn't have used "libxl" as a naming
> convention anywhere in libvirt - neither filenames or method names. This
> is a Xen driver, and libxl is just an impl detail. IOW, I we ought to
> have just use "virXen" as the method name / typedef prefix, and
> xen_driver.c as filename, etc.
Agreed. I had a memory lapse about our previous discussions around s/libxl/xen/,
e.g.
https://listman.redhat.com/archives/libvir-list/2020-May/msg00081.html
It would have all come back if I started doing the work. Just thinking about it
again reminds me of all the "difficult" places libxl has leaked. I mentioned the
build option in above thread, but there's also deployment (/etc/libvirt/libxl*)
and runtime (/var/{lib,log,run}/libvirt/libxl*) leakage. If starting on such an
adventure I'm not sure where to stop. Handling the deployment/runtime leakages
likely requires symlinks, %post{un,trans} hacks, etc.
I'd be interested in the basic strategy you (or others) would take if embarking
on such adventure :-).
Regards,
Jim
More information about the libvir-list
mailing list