File libstorage-api-sle11sp1-changes.patch of Package smis-providers
diff -wruN -x '*~' ../orig-smis-providers/src/providers/Array-Profile/ArrayProvider.c ./src/providers/Array-Profile/ArrayProvider.c
--- ../orig-smis-providers/src/providers/Array-Profile/ArrayProvider.c 2008-12-12 11:18:45.000000000 +0100
+++ ./src/providers/Array-Profile/ArrayProvider.c 2010-07-27 13:10:13.000000000 +0200
@@ -10156,7 +10156,7 @@
/* Do any general init stuff here */
// if(s == NULL)
- s = createDefaultStorageInterface();
+ s = createStorageInterface(Environment(false));
// SCSNeedToScan = 1;
/* Finished. */
diff --git a/src/providers/Array-Profile/StorageConfigurationService.c b/src/providers/Array-Profile/StorageConfigurationService.c
index 23374b5..6ed4acb 100644
--- a/src/providers/Array-Profile/StorageConfigurationService.c
+++ b/src/providers/Array-Profile/StorageConfigurationService.c
@@ -250,7 +250,7 @@ static int LoadPersistentStorageObjects(
const char *ns)
{
int rc = 0;
- char * setupFileName = "/etc/smsetup.conf";
+ const char * setupFileName = "/etc/smsetup.conf";
cmpiutilFileModifier_CBS setupFileModifier =
{
@@ -2506,7 +2506,7 @@ static int ProcessPartition(
const char *dummyName = partInfo.v.name.c_str();
_SMI_TRACE(1,("dummyName = %s", dummyName));
- _SMI_TRACE(1,("partition Used by type = %d: name = %s", partInfo.v.usedByType, partInfo.v.usedByName.c_str()));
+ _SMI_TRACE(1,("partition Used by type = %d: name = %s", partInfo.v.usedByType, partInfo.v.usedByDevice.c_str()));
// if(partInfo.v.usedBy != UB_NONE)
if(partInfo.v.usedByType == UB_LVM || partInfo.v.usedByType == UB_MD)
{
@@ -2535,14 +2535,14 @@ static int ProcessPartition(
1);
- _SMI_TRACE(1,("partition Used by type = %d: name = %s", partInfo.v.usedByType, partInfo.v.usedByName.c_str()));
+ _SMI_TRACE(1,("partition Used by type = %d: name = %s", partInfo.v.usedByType, partInfo.v.usedByDevice.c_str()));
// See if this region/dummy-extent is consumed by any container/pool
if (partInfo.v.usedByType == UB_LVM)
{
ContainerInfo vg_contInfo;
LvmVgInfo vgInfo;
_SMI_TRACE(1,("Calling getLvmVgInfo for partition/dummy extent consuming container"));
- if(rc = s->getContLvmVgInfo(partInfo.v.usedByName, vg_contInfo, vgInfo))
+ if(rc = s->getContLvmVgInfo(partInfo.v.usedByDevice, vg_contInfo, vgInfo))
{
_SMI_TRACE(1,("Error calling getLvmVgInfo for partition/dummy extent consuming container, rc = %d", rc));
goto exit;
@@ -2569,8 +2569,8 @@ static int ProcessPartition(
}
for(i = mdInfoList.begin(); i != mdInfoList.end(); ++i )
{
- _SMI_TRACE(1,("Comparing MD %s with %s", partInfo.v.usedByName.c_str(), i->v.name.c_str()));
- if(!strcasecmp(partInfo.v.usedByName.c_str(), i->v.name.c_str()))
+ _SMI_TRACE(1,("Comparing MD %s with %s", partInfo.v.usedByDevice.c_str(), i->v.name.c_str()));
+ if(!strcasecmp(partInfo.v.usedByDevice.c_str(), i->v.name.c_str()))
{
mdInfo = *i;
break;
@@ -2587,7 +2587,7 @@ static int ProcessPartition(
}
else
{
- _SMI_TRACE(1,("Unable to get MdInfo for %s, rc = %d", volInfo.usedByName.c_str(), rc));
+ _SMI_TRACE(1,("Unable to get MdInfo for %s, rc = %d", volInfo.usedByDevice.c_str(), rc));
goto exit;
}
mdInfoList.clear();
@@ -2992,12 +2992,12 @@ static int ProcessMDRaid0Region(
1);
// See if this region/composite-extent is consumed by any container/pool
- _SMI_TRACE(1,("RAID Used by = %d: name = %s", mdInfo.v.usedByType, mdInfo.v.usedByName.c_str()));
+ _SMI_TRACE(1,("RAID Used by = %d: name = %s", mdInfo.v.usedByType, mdInfo.v.usedByDevice.c_str()));
if (mdInfo.v.usedByType == (UsedByType)UB_LVM)
{
ContainerInfo contInfo;
LvmVgInfo vgInfo;
- if (rc = s->getContLvmVgInfo(mdInfo.v.usedByName, contInfo, vgInfo))
+ if (rc = s->getContLvmVgInfo(mdInfo.v.usedByDevice, contInfo, vgInfo))
{
_SMI_TRACE(1,("Error calling getLvmVgInfo for region/dummy extent"));
goto exit;
@@ -3348,14 +3348,14 @@ static int ProcessMDRaid1Region(
childExt->size - 1,
1);
- _SMI_TRACE(1,("RAID Used by = %d: name = %s", mdInfo.v.usedByType, mdInfo.v.usedByName.c_str()));
+ _SMI_TRACE(1,("RAID Used by = %d: name = %s", mdInfo.v.usedByType, mdInfo.v.usedByDevice.c_str()));
// See if this region/composite-extent is consumed by any container/pool
if (mdInfo.v.usedByType == (UsedByType)UB_LVM)
{
ContainerInfo contInfo;
LvmVgInfo vgInfo;
- _SMI_TRACE(1,("Calling getLvmVgInfo for region/dummy extent %s", mdInfo.v.usedByName.c_str()));
- if (rc = s->getContLvmVgInfo(mdInfo.v.usedByName, contInfo, vgInfo))
+ _SMI_TRACE(1,("Calling getLvmVgInfo for region/dummy extent %s", mdInfo.v.usedByDevice.c_str()));
+ if (rc = s->getContLvmVgInfo(mdInfo.v.usedByDevice, contInfo, vgInfo))
{
_SMI_TRACE(1,("Error calling getLvmVgInfo for region/dummy extent, rc = %d", rc));
goto exit;
@@ -3392,8 +3392,8 @@ static int ProcessMDRaid1Region(
}
for(i = mdInfoList.begin(); i != mdInfoList.end(); ++i )
{
- _SMI_TRACE(1,("Comparing MD %s with %s", mdInfo.v.usedByName.c_str(), i->v.name.c_str()));
- if(!strcasecmp(mdInfo.v.usedByName.c_str(), i->v.name.c_str()))
+ _SMI_TRACE(1,("Comparing MD %s with %s", mdInfo.v.usedByDevice.c_str(), i->v.name.c_str()));
+ if(!strcasecmp(mdInfo.v.usedByDevice.c_str(), i->v.name.c_str()))
{
md1Info = *i;
break;
@@ -3409,7 +3409,7 @@ static int ProcessMDRaid1Region(
}
else
{
- _SMI_TRACE(1,("Unable to get MdInfo for %s, rc = %d", mdInfo.v.usedByName.c_str(), rc));
+ _SMI_TRACE(1,("Unable to get MdInfo for %s, rc = %d", mdInfo.v.usedByDevice.c_str(), rc));
goto exit;
}
}
@@ -3554,7 +3554,7 @@ static int ProcessMDRaid5Region(
{
ContainerInfo contInfo;
LvmVgInfo vgInfo;
- if (rc = s->getContLvmVgInfo(mdInfo.v.usedByName, contInfo, vgInfo))
+ if (rc = s->getContLvmVgInfo(mdInfo.v.usedByDevice, contInfo, vgInfo))
{
_SMI_TRACE(1,("Error calling getLvmVgInfo for region/dummy extent, rc = %d", rc));
goto exit;
@@ -5643,8 +5641,9 @@ void SCSInvokeMethod(
_SMI_TRACE(0,("CreateOrModifyStoragePool(): Trying to get the instance ID"));
if (inPoolCopStr != NULL)
{
+ char *inPoolCopStr_cpy = strdup(inPoolCopStr);
_SMI_TRACE(1,("inPool[0] = %s", inPoolCopStr));
- char *instanceID = strchr(inPoolCopStr, '=');
+ char *instanceID = strchr(inPoolCopStr_cpy, '=');
_SMI_TRACE(0,("CreateOrModifyStoragePool():instance ID = %s", instanceID));
if (instanceID)
{
@@ -5654,6 +5653,7 @@ void SCSInvokeMethod(
_SMI_TRACE(1,("inPool InstanceID = %s", instanceID));
inPool = PoolsFind(instanceID);
}
+ free(inPoolCopStr_cpy);
if (inPool == NULL)
{
_SMI_TRACE(0,("CreateOrModifyStoragePool(): Input pool object not found!!!"));
@@ -6353,10 +6353,10 @@ int SCSScanStorage(const char *ns, CMPIStatus *pStatus)
}
/* if (volInfo.usedBy == (UsedByType)UB_LVM)
{
- _SMI_TRACE(0,("Pool consumed by container %s", volInfo.usedByName.c_str()));
+ _SMI_TRACE(0,("Pool consumed by container %s", volInfo.usedByDevice.c_str()));
ContainerInfo vg_contInfo;
LvmVgInfo vgInfo;
- if(rc = s->getContLvmVgInfo(volInfo.usedByName, vg_contInfo, vgInfo))
+ if(rc = s->getContLvmVgInfo(volInfo.usedByDevice, vg_contInfo, vgInfo))
{
_SMI_TRACE(1,("Error calling getLvmVgInfo for primordial extent consuming container, rc = %d", rc));
continue;
@@ -6424,10 +6424,10 @@ int SCSScanStorage(const char *ns, CMPIStatus *pStatus)
// See if this device has been consumed by a concrete pool (i.e. has container)
if (contInfo.usedByType == UB_LVM)
{
- _SMI_TRACE(0,("Pool consumed by container %s", contInfo.usedByName.c_str()));
+ _SMI_TRACE(0,("Pool consumed by container %s", contInfo.usedByDevice.c_str()));
ContainerInfo vg_contInfo;
LvmVgInfo vgInfo;
- if(rc = s->getContLvmVgInfo(contInfo.usedByName, vg_contInfo, vgInfo))
+ if(rc = s->getContLvmVgInfo(contInfo.usedByDevice, vg_contInfo, vgInfo))
{
_SMI_TRACE(1,("Error calling getLvmVgInfo for primordial extent consuming container, rc = %d", rc));
continue;