[libvirt] [PATCH 2/3] conf: Clean up nodedev code

Peter Krempa pkrempa at redhat.com
Thu Mar 2 09:16:02 UTC 2017


On Thu, Mar 02, 2017 at 10:04:24 +0100, Michal Privoznik wrote:
> On 03/02/2017 09:58 AM, Peter Krempa wrote:
> > On Wed, Mar 01, 2017 at 19:27:15 -0500, John Ferlan wrote:
> >> Alter the static functions from virNodeDev* to just nodeDev* as a visual
> >> cue to determine which are local or not when reading code.
> >>
> >> Cleanup spacing between functions, function defs, etc. to match more modern
> >> techniques used in libvirt
> >>
> >> Signed-off-by: John Ferlan <jferlan at redhat.com>
> >> ---
> >>  src/conf/node_device_conf.c | 476 +++++++++++++++++++++++---------------------
> >>  src/conf/virnodedeviceobj.c | 128 ++++++------
> >>  2 files changed, 322 insertions(+), 282 deletions(-)
> >>
> >> diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
> >> index bc36527..09e815a 100644
> >> --- a/src/conf/node_device_conf.c
> >> +++ b/src/conf/node_device_conf.c
> >> @@ -72,9 +72,9 @@ VIR_ENUM_IMPL(virNodeDevDRM, VIR_NODE_DEV_DRM_LAST,
> >>                "render")
> >>  
> >>  static int
> >> -virNodeDevCapsDefParseString(const char *xpath,
> >> -                             xmlXPathContextPtr ctxt,
> >> -                             char **string)
> >> +nodeDevCapsDefParseString(const char *xpath,
> >> +                          xmlXPathContextPtr ctxt,
> >> +                          char **string)
> > 
> > Please don't remove the vir prefix. The coding style tries to converge
> > to having them everywhere.
> > 
> 
> Why? If a function is static, we can be sure it's not called from
> outside of the file. Moreover, I'd direct your attention to recent

The static function name may still show up in logs and backtraces. It's
better to see what belongs to libvirt and what does not.

> commit of f557b3351e0b6d for instance. In fact whole qemu driver serves
> as a great example: it's "static int qemuDomain*()" not "static vir
> virQEMUDomain*()".

Well, if somebody changes the whole src/qemu_driver.c to use the vir
prefix I'll use the vir prefix. It's called consistency.

> In fact, I'd suggest the opposite rule - use "vir" prefix only if
> function is shared between modules. For instance  virFileCopyACLs should
> have the vir prefix because it's exported. virFileRewriteStrHelper
> should not have the prefix because it's static.

If we codify this rule, this will mean that once we will export the
function you'll have to rename it. Also once you unexport it, you'll
have to rename it. I think that's silly. I'd stick with the prefix
everywhere.

> The advantage of this approach is that one can immediately tell just
> from the name if the function is exported or not.

I don't think this is very useful. If you are refactoring it you should
check all callers anyways and other than that the information is not
very useful.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170302/8648e105/attachment-0001.sig>


More information about the libvir-list mailing list