vold: fix failing to format zero-ed out SD card

sgdisk --android-dump fails with error code 8 when there is no partition
table. Don't stop us from creating a new partition table.

Can be reproduced with
1. adb shell sm set-virtual-disk true
2. Format from UI
3. Observe fake "success" message with SD still unformatted

Fixes: ad5b4f9 ("vold: skip first disk change when converting MBR to GPT")
Test: CtsOsTestCases android.os.storage.cts.StorageManagerTest#testGetStorageVolumeSDCard
Change-Id: I3262bb2e28de438beba541a97038a06432643a65
gugelfrei
nift4 11 months ago committed by Nolen Johnson
parent 981e9b47b1
commit 85ffd688e9

@ -471,13 +471,9 @@ status_t Disk::partitionPublic() {
std::vector<std::string> output;
res = ForkExecvp(cmd, &output);
if (res != OK) {
LOG(WARNING) << "sgdisk failed to scan " << mDevPath;
mJustPartitioned = false;
return res;
}
Table table = Table::kUnknown;
// fails when there is no partition table, it's okay
if (res == OK) {
for (auto line : output) {
char* cline = (char*) line.c_str();
char* token = strtok(cline, kSgdiskToken);
@ -494,6 +490,7 @@ status_t Disk::partitionPublic() {
}
}
}
}
if (table == Table::kMbr) {
LOG(INFO) << "skip first disk change event due to MBR -> GPT switch";

Loading…
Cancel
Save