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

Change-Id: I8fa1780662fd27adbb5729fdc89b06d8db545df5
diff --git a/model/PrivateVolume.cpp b/model/PrivateVolume.cpp
index 75757f7..e146633 100644
--- a/model/PrivateVolume.cpp
+++ b/model/PrivateVolume.cpp
@@ -177,6 +177,10 @@
         return -EIO;
     }
 
+    return OK;
+}
+
+void PrivateVolume::doPostMount() {
     auto vol_manager = VolumeManager::Instance();
     std::string mediaPath(mPath + "/media");
 
@@ -189,8 +193,6 @@
         addVolume(vol);
         vol->create();
     }
-
-    return OK;
 }
 
 status_t PrivateVolume::doUnmount() {
diff --git a/model/PrivateVolume.h b/model/PrivateVolume.h
index 9780485..607c4d1 100644
--- a/model/PrivateVolume.h
+++ b/model/PrivateVolume.h
@@ -49,6 +49,7 @@
     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;
 
diff --git a/model/VolumeBase.cpp b/model/VolumeBase.cpp
index 687d4f7..27448da 100644
--- a/model/VolumeBase.cpp
+++ b/model/VolumeBase.cpp
@@ -232,9 +232,14 @@
     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";
diff --git a/model/VolumeBase.h b/model/VolumeBase.h
index 078bb0c..689750d 100644
--- a/model/VolumeBase.h
+++ b/model/VolumeBase.h
@@ -120,6 +120,7 @@
     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);