On 3/15/19 7:46 AM, Ján Tomko wrote: > [ not sure how John Snow got on the CC list. Hi, John! ] > > s/snapshot/conf/ in the summary Sure. It's related to my work on snapshots, but independent enough (and doesn't even touch snapshot_conf). > > On Fri, Mar 15, 2019 at 12:02:26AM -0500, Eric Blake wrote: >> Right now, snapshot_conf.h is rather large - it deals with three >> separate types: virDomainSnapshotDef (the snapshot definition as it >> maps to XML), virDomainSnapshotObj (an object containing a def and the >> relationship to other snapshots), and virDomainSnapshotObjList (a list >> of snapshot objects), where two of the three types are currently >> public rather than opaque. What's more, the types are circular: a >> snapshot def includes a virDomainPtr, which contains a snapshot list, >> which includes a snapshot object, which includes a snapshot def. >> >> In order to split the three objects into separate files, while still >> allowing each header to use sane typedefs to incomplete pointers, the >> obvious solution is to lift the typedefs into yet another header, with >> no other dependencies. Start the split by factoring out all struct >> typedefs from domain_conf.h (enum typedefs don't get used in function >> signatures, and function typedefs tend not to suffer from circular >> referencing, so those stay put). The only other excpetion is > > exception I can't type late at night :) >> # include "internal.h" >> +# include "virconftypes.h" > > The files in src conf do not use the vir prefix. > How about "conf_types.h"? Naming is hard. I can live with that. > >> # include "capabilities.h" >> # include "virstorageencryption.h" >> # include "cpu_conf.h" >> diff --git a/src/conf/virconftypes.h b/src/conf/virconftypes.h >> new file mode 100644 >> index 0000000000..0e0dc3da03 >> --- /dev/null >> +++ b/src/conf/virconftypes.h >> @@ -0,0 +1,278 @@ >> +/* >> + * virconftypes.h: struct typedefs to avoid circular inclusion > >> + * (derived from domain_conf.h) > > I don't think this line is necessary I don't mind dropping it; but it does explain the long copyright list: > >> + * >> + * Copyright (C) 2006-2019 Red Hat, Inc. >> + * Copyright (C) 2006-2008 Daniel P. Berrange >> + * Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. > > Possibly inaccurate, but better than omitting it. Yeah, but when splitting files, it's easier to bulk copy the previous attributions than to figure out what can be culled. > > Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx> > > Jano -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list