|
|
@ -113,6 +113,16 @@ int DirectVolume::handleBlockEvent(NetlinkEvent *evt) {
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
handlePartitionAdded(dp, evt);
|
|
|
|
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) {
|
|
|
|
} else if (action == NetlinkEvent::NlActionRemove) {
|
|
|
|
if (!strcmp(devtype, "disk")) {
|
|
|
|
if (!strcmp(devtype, "disk")) {
|
|
|
|
handleDiskRemoved(dp, evt);
|
|
|
|
handleDiskRemoved(dp, evt);
|
|
|
@ -148,8 +158,6 @@ void DirectVolume::handleDiskAdded(const char *devpath, NetlinkEvent *evt) {
|
|
|
|
mDiskNumParts = 1;
|
|
|
|
mDiskNumParts = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
char msg[255];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int partmask = 0;
|
|
|
|
int partmask = 0;
|
|
|
|
int i;
|
|
|
|
int i;
|
|
|
|
for (i = 1; i <= mDiskNumParts; i++) {
|
|
|
|
for (i = 1; i <= mDiskNumParts; i++) {
|
|
|
@ -169,11 +177,6 @@ void DirectVolume::handleDiskAdded(const char *devpath, NetlinkEvent *evt) {
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
setState(Volume::State_Pending);
|
|
|
|
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) {
|
|
|
|
void DirectVolume::handlePartitionAdded(const char *devpath, NetlinkEvent *evt) {
|
|
|
|