On 04/20/2016 07:40 AM, John Ferlan wrote:
v1:
http://www.redhat.com/archives/libvir-list/2016-March/msg00099.html
Differences high level:
- Use virsecretobj.{c,h} instead of secret_conf.{c,h}
- Work in v1 review comments
Difference details for those that care to know:
Note: Former patch2 has already been pushed.
Patch 1: Is combination of v1's patch1 and patch3 w/ adjustments:
- Create virsecretobj.c and virsecretobj.h and move sources there.
- Add virsecretobj.{c,h} to src/Makefile.am
- Use order as suggested by eblake review of patch3 for forward
static decls, removed the != NULL from virSecretObjDispose, and
add comment regarding why memset() is being done
Patch 2: Former patch4
- Move code to virsecretobj.{c,h} instead of secret_conf.{c,h}
- Change the virSecretObjFindByUUIDLocked to use the construct
"return virObjectRef(virHashLookup(...));" as suggested by eblake
Patch3: Former patch5 (split)
- Split the format patch5 to have virSecretUsageIDForDef changes in one
patch and the remainder in the followup patch.
Patch4: Former patch5 (split)
- The rest of former patch5
- Removed the extraneous "VIR_FREE(configFile);" as noted by eblake.
- NOTE: eblake queried about the condition:
if (secret->def->private && !def->private)
in virSecretObjListAddLocked. This same check came from the former
secretDefineXML in the else of the "secretFindByUUID(new_attrs->uuid)".
IOW: Redefining a secret. The code didn't allow a "new" secret to
be not private if the currently defined one was private. I left it as is.
Patch5->Patch9: Former patch6->patch10:
- All that's different is using virsecretobj instead of secret_conf
Patch10: Former patch11
- Using virsecretobj instead of secret_conf
Patch11: Former patch10
- Adjusted and moved the comment from virSecretObjDeleteConfig to
virSecretObjDeleteData
- Added a virReportSystemError for the DeleteConfig error
Patch12: Former patch13:
- All that's different is using virsecretobj instead of secret_conf
Patch13: Former patch14
- Delete the extra space in the "return 0" as noted by Cole's review.
Patch14: Former patch15:
- All that's different is using virsecretobj instead of secret_conf
After all is said done, I did a sdiff between the v1 secret_conf.h
and v2 virsecretobj.h as well as the v1 secret_conf.c and v2 virsecretobj.c
and found only the differences as noted above, plus removed a duplicated
virSecretUsageIDForDef prototype I found in secret_conf.h.
I also went through the painful process of make check syntax-check at each
step of the way and built using Coverity.
John Ferlan (14):
secret: Create virsecretobj.c and virsecretconf.h
secret: Introduce virSecretObjListFindBy{UUID|Usage} support
secret: Introduce virSecretUsageIDForDef
secret: Introduce virSecretObjListAdd* and virSecretObjListRemove
secret: Introduce virSecretObjListNumOfSecrets
secret: Introduce virSecretObjListExport
secret: Introduce virSecretObjListGetUUIDs
secret: Use the hashed virSecretObjList
secret: Move and rename secretLoadAllConfigs
secret: Introduce virSecretObjDelete{Config|Data}
secret: Introduce virSecretObjSave{Config|Data}
secret: Introduce virSecretObj{Get|Set}Def
secret: Introduce virSecretObjGetValue and virSecretObjGetValueSize
secret: Change virSecretDef variable names
po/POTFILES.in | 1 +
src/Makefile.am | 3 +-
src/conf/secret_conf.c | 37 +-
src/conf/secret_conf.h | 9 +-
src/conf/virsecretobj.c | 1011 +++++++++++++++++++++++++++++++++++++++++
src/conf/virsecretobj.h | 110 +++++
src/libvirt_private.syms | 24 +
src/secret/secret_driver.c | 823 ++++-----------------------------
src/storage/storage_backend.c | 4 +-
9 files changed, 1279 insertions(+), 743 deletions(-)
create mode 100644 src/conf/virsecretobj.c
create mode 100644 src/conf/virsecretobj.h
ACK (I reviewed the changes you mention above, but just skimmed the rest,
though i reviewed majority of v1)
- Cole