Tony Asleson
2014-03-10 18:05:42 UTC
Once we get the pool create/delete functionality implemented in C I
would like to propose we start the process where only new features are
added, nothing removed or modified as expected for a stable C API.
Typically this is how things have been going, but the library does have
some accumulated variation.
This is the current public C function names and possible changes I'm
suggesting we could/should make before we cast the API in stone.
lsmAccessGroupAddInitiator -> lsmAccessGroupInitiatorAdd
lsmAccessGroupCreate
lsmAccessGroupDel
lsmAccessGroupDelInitiator -> lsmAccessGroupInitiatorDel
lsmAccessGroupGrant
lsmAccessGroupIdGet
lsmAccessGroupInitiatorIdGet
lsmAccessGroupInitiatorIdSet
lsmAccessGroupList
lsmAccessGroupNameGet
lsmAccessGroupRecordAlloc
lsmAccessGroupRecordAllocArray
lsmAccessGroupRecordCopy
lsmAccessGroupRecordFree
lsmAccessGroupRecordFreeArray
lsmAccessGroupRevoke
lsmAccessGroupsGrantedToVolume
lsmAccessGroupSystemIdGet
lsmBlockRangeBlockCountGet
lsmBlockRangeDestStartGet
lsmBlockRangeRecordAlloc
lsmBlockRangeRecordAllocArray
lsmBlockRangeRecordCopy
lsmBlockRangeRecordFree
lsmBlockRangeRecordFreeArray
lsmBlockRangeSourceStartGet
lsmCapabilities
lsmCapabilityGet
lsmCapabilityRecordAlloc
lsmCapabilityRecordFree
lsmCapabilitySet
lsmCapabilitySetN
lsmConnectClose
lsmConnectGetTimeout -> lsmConnectTimeoutGet
lsmConnectPassword
lsmConnectSetTimeout -> lsmConnectTimeoutSet
lsmDataTypeCopy
lsmDiskBlockSizeGet
lsmDiskIdGet
lsmDiskList
lsmDiskNameGet
lsmDiskNumberOfBlocksGet
lsmDiskOptionalDataGet
lsmDiskRecordAlloc
lsmDiskRecordAllocArray
lsmDiskRecordCopy
lsmDiskRecordFree
lsmDiskRecordFreeArray
lsmDiskStatusGet
lsmDiskSystemIdGet
lsmDiskTypeGet
lsmErrorCreate
lsmErrorFree
lsmErrorGetDebug -> lsmErrorDebugGet
lsmErrorGetDebugData -> lsmErrorDebugDataGet
lsmErrorGetDomain -> lsmErrorDomainGet
lsmErrorGetException -> lsmErrorExceptionGet
lsmErrorGetLast -> lsmErrorLastGet
lsmErrorGetLevel -> lsmErrorLevelGet
lsmErrorGetMessage -> lsmErrorMessageGet
lsmErrorGetNumber -> lsmErrorNumberGet
lsmFsChildDependency
lsmFsChildDependencyRm
lsmFsClone
lsmFsCreate
lsmFsDelete
lsmFsFileClone
lsmFsFreeSpaceGet
lsmFsIdGet
lsmFsList
lsmFsNameGet
lsmFsPoolIdGet
lsmFsRecordAlloc
lsmFsRecordAllocArray
lsmFsRecordCopy
lsmFsRecordFree
lsmFsRecordFreeArray
lsmFsResize
lsmFsSsCreate
lsmFsSsDelete
lsmFsSsList
lsmFsSsRevert
lsmFsSystemIdGet
lsmFsTotalSpaceGet
lsmGetAvailablePlugins -> lsmAvailablePluginsList
lsmGetPrivateData -> lsmPluginPrivateDataGet, may want Set later
lsmInitiatorGrant
lsmInitiatorIdGet
lsmInitiatorList
lsmInitiatorNameGet
lsmInitiatorRecordAlloc
lsmInitiatorRecordAllocArray
lsmInitiatorRecordCopy
lsmInitiatorRecordFree
lsmInitiatorRecordFreeArray
lsmInitiatorRevoke
lsmInitiatorsGrantedToVolume
lsmInitiatorTypeGet
lsmISCSIChapAuth
lsmJobFree
lsmJobStatusFsGet
lsmJobStatusGet
lsmJobStatusSsGet
lsmJobStatusVolumeGet
lsmLogErrorBasic
lsmNfsExportAnonGidGet
lsmNfsExportAnonGidSet
lsmNfsExportAnonUidGet
lsmNfsExportAnonUidSet
lsmNfsExportAuthTypeGet
lsmNfsExportAuthTypeSet
lsmNfsExportExportPathGet
lsmNfsExportExportPathSet
lsmNfsExportFs
lsmNfsExportFsIdGet
lsmNfsExportFsIdSet
lsmNfsExportIdGet
lsmNfsExportIdSet
lsmNfsExportOptionsGet
lsmNfsExportOptionsSet
lsmNfsExportReadOnlyGet
lsmNfsExportReadOnlySet
lsmNfsExportReadWriteGet
lsmNfsExportReadWriteSet
lsmNfsExportRecordAlloc
lsmNfsExportRecordAllocArray
lsmNfsExportRecordCopy
lsmNfsExportRecordFree
lsmNfsExportRecordFreeArray
lsmNfsExportRemove
lsmNfsExportRootGet
lsmNfsExportRootSet
lsmNfsList
lsmOptionalDataListGet
lsmOptionalDataRecordAlloc
lsmOptionalDataRecordCopy
lsmOptionalDataRecordFree
lsmOptionalDataStringGet
lsmOptionalDataStringSet
lsmPluginErrorLog
lsmPluginGetInfo -> lsmPluginInfo or lsmPluginInfoGet
lsmPluginInitV1
lsmPoolFreeSpaceGet
lsmPoolFreeSpaceSet
lsmPoolIdGet
lsmPoolList
lsmPoolNameGet
lsmPoolRecordAlloc
lsmPoolRecordAllocArray
lsmPoolRecordCopy
lsmPoolRecordFree
lsmPoolRecordFreeArray
lsmPoolStatusGet
lsmPoolSystemIdGet
lsmPoolTotalSpaceGet
lsmRegisterPluginV1
lsmSsIdGet
lsmSsNameGet
lsmSsRecordAlloc
lsmSsRecordAllocArray
lsmSsRecordCopy
lsmSsRecordFree
lsmSsRecordFreeArray
lsmSsTimeStampGet
lsmStringListAlloc
lsmStringListAppend
lsmStringListCopy
lsmStringListFree
lsmStringListGetElem -> lsmStringListElemGet
lsmStringListRemove
lsmStringListSetElem -> lsmStringListElemSet
lsmStringListSize
lsmSystemIdGet
lsmSystemList
lsmSystemNameGet
lsmSystemRecordAlloc
lsmSystemRecordAllocArray
lsmSystemRecordCopy
lsmSystemRecordFree
lsmSystemRecordFreeArray
lsmSystemStatusGet
lsmVolumeBlockSizeGet
lsmVolumeChildDependency
lsmVolumeChildDependencyRm
lsmVolumeCreate
lsmVolumeDelete
lsmVolumeIdGet
lsmVolumeList
lsmVolumeNameGet
lsmVolumeNumberOfBlocksGet
lsmVolumeOffline
lsmVolumeOnline
lsmVolumeOpStatusGet
lsmVolumePoolIdGet
lsmVolumeRecordAlloc
lsmVolumeRecordAllocArray
lsmVolumeRecordCopy
lsmVolumeRecordFree
lsmVolumeRecordFreeArray
lsmVolumeReplicate
lsmVolumeReplicateRange
lsmVolumeReplicateRangeBlockSize
lsmVolumeResize
lsmVolumesAccessibleByAccessGroup
lsmVolumesAccessibleByInitiator
lsmVolumeSystemIdGet
lsmVolumeVpd83Get
The other thing I noticed is that some free functions return a value and
some don't. Usually this is because a magic check fails that we would
return an error condition. I'm suggesting that we make them all
consistent by always returning a value.
The python API is needing a review too.
Comments/suggestions?
Regards,
Tony
would like to propose we start the process where only new features are
added, nothing removed or modified as expected for a stable C API.
Typically this is how things have been going, but the library does have
some accumulated variation.
This is the current public C function names and possible changes I'm
suggesting we could/should make before we cast the API in stone.
lsmAccessGroupAddInitiator -> lsmAccessGroupInitiatorAdd
lsmAccessGroupCreate
lsmAccessGroupDel
lsmAccessGroupDelInitiator -> lsmAccessGroupInitiatorDel
lsmAccessGroupGrant
lsmAccessGroupIdGet
lsmAccessGroupInitiatorIdGet
lsmAccessGroupInitiatorIdSet
lsmAccessGroupList
lsmAccessGroupNameGet
lsmAccessGroupRecordAlloc
lsmAccessGroupRecordAllocArray
lsmAccessGroupRecordCopy
lsmAccessGroupRecordFree
lsmAccessGroupRecordFreeArray
lsmAccessGroupRevoke
lsmAccessGroupsGrantedToVolume
lsmAccessGroupSystemIdGet
lsmBlockRangeBlockCountGet
lsmBlockRangeDestStartGet
lsmBlockRangeRecordAlloc
lsmBlockRangeRecordAllocArray
lsmBlockRangeRecordCopy
lsmBlockRangeRecordFree
lsmBlockRangeRecordFreeArray
lsmBlockRangeSourceStartGet
lsmCapabilities
lsmCapabilityGet
lsmCapabilityRecordAlloc
lsmCapabilityRecordFree
lsmCapabilitySet
lsmCapabilitySetN
lsmConnectClose
lsmConnectGetTimeout -> lsmConnectTimeoutGet
lsmConnectPassword
lsmConnectSetTimeout -> lsmConnectTimeoutSet
lsmDataTypeCopy
lsmDiskBlockSizeGet
lsmDiskIdGet
lsmDiskList
lsmDiskNameGet
lsmDiskNumberOfBlocksGet
lsmDiskOptionalDataGet
lsmDiskRecordAlloc
lsmDiskRecordAllocArray
lsmDiskRecordCopy
lsmDiskRecordFree
lsmDiskRecordFreeArray
lsmDiskStatusGet
lsmDiskSystemIdGet
lsmDiskTypeGet
lsmErrorCreate
lsmErrorFree
lsmErrorGetDebug -> lsmErrorDebugGet
lsmErrorGetDebugData -> lsmErrorDebugDataGet
lsmErrorGetDomain -> lsmErrorDomainGet
lsmErrorGetException -> lsmErrorExceptionGet
lsmErrorGetLast -> lsmErrorLastGet
lsmErrorGetLevel -> lsmErrorLevelGet
lsmErrorGetMessage -> lsmErrorMessageGet
lsmErrorGetNumber -> lsmErrorNumberGet
lsmFsChildDependency
lsmFsChildDependencyRm
lsmFsClone
lsmFsCreate
lsmFsDelete
lsmFsFileClone
lsmFsFreeSpaceGet
lsmFsIdGet
lsmFsList
lsmFsNameGet
lsmFsPoolIdGet
lsmFsRecordAlloc
lsmFsRecordAllocArray
lsmFsRecordCopy
lsmFsRecordFree
lsmFsRecordFreeArray
lsmFsResize
lsmFsSsCreate
lsmFsSsDelete
lsmFsSsList
lsmFsSsRevert
lsmFsSystemIdGet
lsmFsTotalSpaceGet
lsmGetAvailablePlugins -> lsmAvailablePluginsList
lsmGetPrivateData -> lsmPluginPrivateDataGet, may want Set later
lsmInitiatorGrant
lsmInitiatorIdGet
lsmInitiatorList
lsmInitiatorNameGet
lsmInitiatorRecordAlloc
lsmInitiatorRecordAllocArray
lsmInitiatorRecordCopy
lsmInitiatorRecordFree
lsmInitiatorRecordFreeArray
lsmInitiatorRevoke
lsmInitiatorsGrantedToVolume
lsmInitiatorTypeGet
lsmISCSIChapAuth
lsmJobFree
lsmJobStatusFsGet
lsmJobStatusGet
lsmJobStatusSsGet
lsmJobStatusVolumeGet
lsmLogErrorBasic
lsmNfsExportAnonGidGet
lsmNfsExportAnonGidSet
lsmNfsExportAnonUidGet
lsmNfsExportAnonUidSet
lsmNfsExportAuthTypeGet
lsmNfsExportAuthTypeSet
lsmNfsExportExportPathGet
lsmNfsExportExportPathSet
lsmNfsExportFs
lsmNfsExportFsIdGet
lsmNfsExportFsIdSet
lsmNfsExportIdGet
lsmNfsExportIdSet
lsmNfsExportOptionsGet
lsmNfsExportOptionsSet
lsmNfsExportReadOnlyGet
lsmNfsExportReadOnlySet
lsmNfsExportReadWriteGet
lsmNfsExportReadWriteSet
lsmNfsExportRecordAlloc
lsmNfsExportRecordAllocArray
lsmNfsExportRecordCopy
lsmNfsExportRecordFree
lsmNfsExportRecordFreeArray
lsmNfsExportRemove
lsmNfsExportRootGet
lsmNfsExportRootSet
lsmNfsList
lsmOptionalDataListGet
lsmOptionalDataRecordAlloc
lsmOptionalDataRecordCopy
lsmOptionalDataRecordFree
lsmOptionalDataStringGet
lsmOptionalDataStringSet
lsmPluginErrorLog
lsmPluginGetInfo -> lsmPluginInfo or lsmPluginInfoGet
lsmPluginInitV1
lsmPoolFreeSpaceGet
lsmPoolFreeSpaceSet
lsmPoolIdGet
lsmPoolList
lsmPoolNameGet
lsmPoolRecordAlloc
lsmPoolRecordAllocArray
lsmPoolRecordCopy
lsmPoolRecordFree
lsmPoolRecordFreeArray
lsmPoolStatusGet
lsmPoolSystemIdGet
lsmPoolTotalSpaceGet
lsmRegisterPluginV1
lsmSsIdGet
lsmSsNameGet
lsmSsRecordAlloc
lsmSsRecordAllocArray
lsmSsRecordCopy
lsmSsRecordFree
lsmSsRecordFreeArray
lsmSsTimeStampGet
lsmStringListAlloc
lsmStringListAppend
lsmStringListCopy
lsmStringListFree
lsmStringListGetElem -> lsmStringListElemGet
lsmStringListRemove
lsmStringListSetElem -> lsmStringListElemSet
lsmStringListSize
lsmSystemIdGet
lsmSystemList
lsmSystemNameGet
lsmSystemRecordAlloc
lsmSystemRecordAllocArray
lsmSystemRecordCopy
lsmSystemRecordFree
lsmSystemRecordFreeArray
lsmSystemStatusGet
lsmVolumeBlockSizeGet
lsmVolumeChildDependency
lsmVolumeChildDependencyRm
lsmVolumeCreate
lsmVolumeDelete
lsmVolumeIdGet
lsmVolumeList
lsmVolumeNameGet
lsmVolumeNumberOfBlocksGet
lsmVolumeOffline
lsmVolumeOnline
lsmVolumeOpStatusGet
lsmVolumePoolIdGet
lsmVolumeRecordAlloc
lsmVolumeRecordAllocArray
lsmVolumeRecordCopy
lsmVolumeRecordFree
lsmVolumeRecordFreeArray
lsmVolumeReplicate
lsmVolumeReplicateRange
lsmVolumeReplicateRangeBlockSize
lsmVolumeResize
lsmVolumesAccessibleByAccessGroup
lsmVolumesAccessibleByInitiator
lsmVolumeSystemIdGet
lsmVolumeVpd83Get
The other thing I noticed is that some free functions return a value and
some don't. Usually this is because a magic check fails that we would
return an error condition. I'm suggesting that we make them all
consistent by always returning a value.
The python API is needing a review too.
Comments/suggestions?
Regards,
Tony