Introduce postMount() VolumeBase helper. am: 5ec8658abc am: 2e05806850 am: 2669d5085b

Change-Id: I84494864f53d67c1ab2912064750f0f8a7236109
This commit is contained in:
Martijn Coenen 2020-05-06 09:58:29 +00:00 committed by Automerger Merge Worker
commit 136530cc2a
4 changed files with 11 additions and 2 deletions

View file

@ -177,6 +177,10 @@ status_t PrivateVolume::doMount() {
return -EIO;
}
return OK;
}
void PrivateVolume::doPostMount() {
auto vol_manager = VolumeManager::Instance();
std::string mediaPath(mPath + "/media");
@ -189,8 +193,6 @@ status_t PrivateVolume::doMount() {
addVolume(vol);
vol->create();
}
return OK;
}
status_t PrivateVolume::doUnmount() {

View file

@ -49,6 +49,7 @@ class PrivateVolume : public VolumeBase {
status_t doCreate() override;
status_t doDestroy() override;
status_t doMount() override;
void doPostMount() override;
status_t doUnmount() override;
status_t doFormat(const std::string& fsType) override;

View file

@ -232,9 +232,14 @@ status_t VolumeBase::mount() {
status_t res = doMount();
setState(res == OK ? State::kMounted : State::kUnmountable);
if (res == OK) {
doPostMount();
}
return res;
}
void VolumeBase::doPostMount() {}
status_t VolumeBase::unmount() {
if (mState != State::kMounted) {
LOG(WARNING) << getId() << " unmount requires state mounted";

View file

@ -120,6 +120,7 @@ class VolumeBase {
virtual status_t doCreate();
virtual status_t doDestroy();
virtual status_t doMount() = 0;
virtual void doPostMount();
virtual status_t doUnmount() = 0;
virtual status_t doFormat(const std::string& fsType);