@@ -211,6 +211,17 @@ int StatusTool::SpaceCmd() {
211
211
<< " , created file size = "
212
212
<< spaceInfo.currentFileSize / mds::kGB
213
213
<< " GB(" << createdFileRatio * 100 << " %)" << std::endl;
214
+
215
+ std::cout << " Every Logicalpool Space info:" << std::endl;
216
+ for (const auto &i : spaceInfo.lpoolspaceinfo ) {
217
+ std::cout << " logicalPool: name = " << i.second .poolName
218
+ << " , poolid = " << i.first
219
+ << " , total = " << i.second .totalCapacity / mds::kGB << " GB"
220
+ << " , used = " << i.second .allocatedSize / mds::kGB << " GB"
221
+ << " , left = " << (i.second .totalCapacity -
222
+ i.second .allocatedSize ) / mds::kGB
223
+ << " GB" << std::endl;
224
+ }
214
225
return 0 ;
215
226
}
216
227
@@ -1045,7 +1056,9 @@ int StatusTool::GetSpaceInfo(SpaceInfo* spaceInfo) {
1045
1056
}
1046
1057
// 从metric获取space信息
1047
1058
for (const auto & lgPool : lgPools) {
1059
+ LogicalpoolSpaceInfo lpinfo;
1048
1060
std::string poolName = lgPool.logicalpoolname ();
1061
+ lpinfo.poolName = poolName;
1049
1062
std::string metricName = GetPoolTotalChunkSizeName (poolName);
1050
1063
uint64_t size;
1051
1064
int res = mdsClient_->GetMetric (metricName, &size);
@@ -1054,27 +1067,34 @@ int StatusTool::GetSpaceInfo(SpaceInfo* spaceInfo) {
1054
1067
return -1 ;
1055
1068
}
1056
1069
spaceInfo->totalChunkSize += size;
1070
+ lpinfo.totalChunkSize +=size;
1057
1071
metricName = GetPoolUsedChunkSizeName (poolName);
1058
1072
res = mdsClient_->GetMetric (metricName, &size);
1059
1073
if (res != 0 ) {
1060
1074
std::cout << " Get used chunk byte from mds fail!" << std::endl;
1061
1075
return -1 ;
1062
1076
}
1063
1077
spaceInfo->usedChunkSize += size;
1078
+ lpinfo.usedChunkSize += size;
1064
1079
metricName = GetPoolLogicalCapacityName (poolName);
1065
1080
res = mdsClient_->GetMetric (metricName, &size);
1066
1081
if (res != 0 ) {
1067
1082
std::cout << " Get logical capacity from mds fail!" << std::endl;
1068
1083
return -1 ;
1069
1084
}
1070
1085
spaceInfo->totalCapacity += size;
1086
+ lpinfo.totalCapacity += size;
1071
1087
metricName = GetPoolLogicalAllocName (poolName);
1072
1088
res = mdsClient_->GetMetric (metricName, &size);
1073
1089
if (res != 0 ) {
1074
1090
std::cout << " Get logical alloc size from mds fail!" << std::endl;
1075
1091
return -1 ;
1076
1092
}
1077
1093
spaceInfo->allocatedSize += size;
1094
+ lpinfo.allocatedSize += size;
1095
+ spaceInfo->lpoolspaceinfo .insert (
1096
+ std::pair<uint32_t , LogicalpoolSpaceInfo>(
1097
+ lgPool.logicalpoolid (), lpinfo));
1078
1098
}
1079
1099
// 获取RecycleBin的分配大小
1080
1100
res = mdsClient_->GetAllocatedSize (curve::mds::RECYCLEBINDIR,
0 commit comments