diff --git a/Disk.cpp b/Disk.cpp index c680a43..df53d07 100644 --- a/Disk.cpp +++ b/Disk.cpp @@ -36,8 +36,6 @@ #include #include -#define ENTIRE_DEVICE_FALLBACK 0 - using android::base::ReadFileToString; using android::base::WriteStringToFile; using android::base::StringPrintf; @@ -306,14 +304,18 @@ status_t Disk::readPartitions() { } } -#if ENTIRE_DEVICE_FALLBACK // Ugly last ditch effort, treat entire disk as partition if (table == Table::kUnknown || !foundParts) { - // TODO: use blkid to confirm filesystem before doing this LOG(WARNING) << mId << " has unknown partition table; trying entire device"; - createPublicVolume(mDevice); + + std::string fsType; + std::string unused; + if (ReadMetadataUntrusted(mDevPath, fsType, unused, unused) == OK) { + createPublicVolume(mDevice); + } else { + LOG(WARNING) << mId << " failed to identify, giving up"; + } } -#endif notifyEvent(ResponseCode::DiskScanned); mJustPartitioned = false;