diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2012-05-22 07:46:42 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-05-22 07:46:42 -0700 |
commit | fc676b69bd7e6975d52bc8397d14e5583e00df49 (patch) | |
tree | 0fd9f41bf53b9e3e90d34b5b745257d37d26c060 | |
parent | ac3d1eac00cc7077528392d5f1dfc7af94bf9d78 (diff) | |
parent | e925ff6670bb9cef9118ddceb2e3bff81833bd09 (diff) | |
download | system_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.cpp | 17 |
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) { |