summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2012-05-22 07:46:42 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-05-22 07:46:42 -0700
commitfc676b69bd7e6975d52bc8397d14e5583e00df49 (patch)
tree0fd9f41bf53b9e3e90d34b5b745257d37d26c060
parentac3d1eac00cc7077528392d5f1dfc7af94bf9d78 (diff)
parente925ff6670bb9cef9118ddceb2e3bff81833bd09 (diff)
downloadsystem_vold-fc676b69bd7e6975d52bc8397d14e5583e00df49.zip
system_vold-fc676b69bd7e6975d52bc8397d14e5583e00df49.tar.gz
system_vold-fc676b69bd7e6975d52bc8397d14e5583e00df49.tar.bz2
am e925ff66: am bac5eb96: Merge "Delay disk inserted broadcast until disk is ready"
* commit 'e925ff6670bb9cef9118ddceb2e3bff81833bd09': Delay disk inserted broadcast until disk is ready
-rw-r--r--DirectVolume.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/DirectVolume.cpp b/DirectVolume.cpp
index c745c93..2a24376 100644
--- a/DirectVolume.cpp
+++ b/DirectVolume.cpp
@@ -113,6 +113,16 @@ int DirectVolume::handleBlockEvent(NetlinkEvent *evt) {
} else {
handlePartitionAdded(dp, evt);
}
+ /* Send notification iff disk is ready (ie all partitions found) */
+ if (getState() == Volume::State_Idle) {
+ char msg[255];
+
+ snprintf(msg, sizeof(msg),
+ "Volume %s %s disk inserted (%d:%d)", getLabel(),
+ getMountpoint(), mDiskMajor, mDiskMinor);
+ mVm->getBroadcaster()->sendBroadcast(ResponseCode::VolumeDiskInserted,
+ msg, false);
+ }
} else if (action == NetlinkEvent::NlActionRemove) {
if (!strcmp(devtype, "disk")) {
handleDiskRemoved(dp, evt);
@@ -148,8 +158,6 @@ void DirectVolume::handleDiskAdded(const char *devpath, NetlinkEvent *evt) {
mDiskNumParts = 1;
}
- char msg[255];
-
int partmask = 0;
int i;
for (i = 1; i <= mDiskNumParts; i++) {
@@ -169,11 +177,6 @@ void DirectVolume::handleDiskAdded(const char *devpath, NetlinkEvent *evt) {
#endif
setState(Volume::State_Pending);
}
-
- snprintf(msg, sizeof(msg), "Volume %s %s disk inserted (%d:%d)",
- getLabel(), getMountpoint(), mDiskMajor, mDiskMinor);
- mVm->getBroadcaster()->sendBroadcast(ResponseCode::VolumeDiskInserted,
- msg, false);
}
void DirectVolume::handlePartitionAdded(const char *devpath, NetlinkEvent *evt) {