When converting a public (MBR) partition to private (GPT) partition, 'sgdisk --zap-all <path>' triggers a disk change netlink event when converting from MBR to GPT. Then, 'sgdisk --new=....' triggers another disk change netlink event. vold informs clients a new volume is created after the first disk change event occurs. system server reacts by requesting to mount the volume. If this request is honored before the second disk change event, the volume will be unmounted immediately after system server's request to mount is honored. The next time system server performs an operation (createnewuser) on this volume, it will fail due to the volume being unmounted. This is reproduced by running the following commands in a loop: adb shell sm partition <disk> private adb shell sm partition <disk> public adb shell sm forget all OR run cts -c com.android.cts.appsecurity.AdoptableHostTest -m testPackageInstaller This change causes vold to delay notifying clients that the volume is ready until after it's actually partitioned. CYNGNOS-2283 Change-Id: I457cc1508573d73ef2be2f0cfdc5c2237bfabad7gugelfrei
parent
bc2566c837
commit
c731e3d038
Loading…
Reference in new issue