Optimize loop device creation
There are total three optimizations.
* PartitionParent now reads /sys/class/block/{name} to find its parent,
rather than listing /sys and calling stat.
* BlockdevName now reads /sys/dev/block/{major}.{minor} to find its
device, rather than listing /sys and calling stat.
* BlockDeviceQueueDepth caches results, because there are very few
parent devices as of now.
On cuttlefish, 88 calls to BlockDeviceQueueDepth take about 200~400ms.
After this patch, it becomes less than 100ms.
Bug: 401463117
Test: run cuttlefish and see "OnStart done"
Change-Id: I60c7addbd82ed83acb801f225ae77b5a41c37edf
1 file changed