Get eraseMaxGeometry and eraseMinGeometry from dbus
Also, make findDevice return output parameters based on RVO.
With the change like in EntityManager JSON:
```
{
"Name": "example_emmc",
"Type": "EmmcDevice",
"LocationCode": "location"
"EraseMaxGeometry": 10000000000,
"EraseMinGeometry": 5000000000,
}
```
and geometry values will be set to estoraged.
Tested:
- unit test pass:
```
5/7 util_test OK 0.05s
```
Change-Id: Ia8499af2168c7e740558978273fc80456eb29282
Signed-off-by: Tom Tung <shes050117@gmail.com>
diff --git a/src/estoraged.cpp b/src/estoraged.cpp
index b604a7c..f9c69dc 100644
--- a/src/estoraged.cpp
+++ b/src/estoraged.cpp
@@ -37,11 +37,13 @@
const std::string& luksName, uint64_t size,
uint8_t lifeTime, const std::string& partNumber,
const std::string& serialNumber,
- const std::string& locationCode,
+ const std::string& locationCode, uint64_t eraseMaxGeometry,
+ uint64_t eraseMinGeometry,
std::unique_ptr<CryptsetupInterface> cryptInterface,
std::unique_ptr<FilesystemInterface> fsInterface) :
devPath(devPath),
containerName(luksName), mountPoint("/mnt/" + luksName + "_fs"),
+ eraseMaxGeometry(eraseMaxGeometry), eraseMinGeometry(eraseMinGeometry),
cryptIface(std::move(cryptInterface)), fsIface(std::move(fsInterface)),
cryptDevicePath(cryptIface->cryptGetDir() + "/" + luksName),
objectServer(server)
@@ -185,7 +187,7 @@
case Volume::EraseMethod::VerifyGeometry:
{
VerifyDriveGeometry myVerifyGeometry(devPath);
- myVerifyGeometry.geometryOkay();
+ myVerifyGeometry.geometryOkay(eraseMaxGeometry, eraseMinGeometry);
break;
}
case Volume::EraseMethod::LogicalOverWrite: