From 981e9b47b1a84be0c48a69f00212c664c604f8ef Mon Sep 17 00:00:00 2001 From: lambdadroid Date: Sat, 6 Jan 2018 14:48:44 +0100 Subject: [PATCH] vold: Accept Linux GPT partitions on external SD cards ext4/f2fs partitions are usually created using the Linux partition type on GUID partition tables, which is not recognized by vold. Add the Linux partition type GUID to vold so ext4/f2fs partitions on external SD cards with GPT are detected correctly. Change-Id: I5e3947bb6b086eec4e5aa8a4825aaa93b7e9d99d --- model/Disk.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/model/Disk.cpp b/model/Disk.cpp index d33d081..efe9042 100644 --- a/model/Disk.cpp +++ b/model/Disk.cpp @@ -77,6 +77,7 @@ static const unsigned int kMajorBlockDynamicMin = 234; static const unsigned int kMajorBlockDynamicMax = 512; static const char* kGptBasicData = "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7"; +static const char* kGptLinuxFilesystem = "0FC63DAF-8483-4772-8E79-3D69D8477DE4"; static const char* kGptAndroidMeta = "19A710A2-B3CA-11E4-B026-10604B889DCF"; static const char* kGptAndroidExpand = "193D1EA4-B3CA-11E4-B075-10604B889DCF"; @@ -413,7 +414,8 @@ status_t Disk::readPartitions() { if (++it == split.end()) continue; auto partGuid = *it; - if (android::base::EqualsIgnoreCase(typeGuid, kGptBasicData)) { + if (android::base::EqualsIgnoreCase(typeGuid, kGptBasicData) + || android::base::EqualsIgnoreCase(typeGuid, kGptLinuxFilesystem)) { createPublicVolume(partDevice); } else if (android::base::EqualsIgnoreCase(typeGuid, kGptAndroidExpand)) { createPrivateVolume(partDevice, partGuid);