diff --git a/lib/partition/partition.c b/lib/partition/partition.c index 8903589be..225008243 100644 --- a/lib/partition/partition.c +++ b/lib/partition/partition.c @@ -248,6 +248,11 @@ int partition_publish(const char *device, off_t offset) partdev->label = strdup((char*)name); partdev->is_gpt = true; + /* Some linux distros make use of subpartitions. + * Scan some devices recursively to publish them. */ + if (strcmp(name, "system") == 0 || strcmp(name, "userdata") == 0) + partition_publish(subdevice, 0); + count++; } }