// fragment
var uevent = ReadIfExists(Path.Combine(dev, "uevent"));
var sizeIn512BlocksRaw = ReadIfExists(Path.Combine(dev, "size"));
var logicalBlockSizeRaw = ReadIfExists(Path.Combine(dev, "queue", "logical_block_size"));
var model = ReadIfExists(Path.Combine(dev, "device", "model"));
var roRaw = ReadIfExists(Path.Combine(dev, "ro"));
await Task.WhenAll(uevent, sizeIn512BlocksRaw, logicalBlockSizeRaw, model, roRaw).ConfigureAwait(false); // <- hangs here
var ueventData = _ueventParser.Parse(uevent.Result);
var sizeIn512Blocks = ulong.TryParse(sizeIn512BlocksRaw.Result, out var size) ? size : 0;
var logicalBlockSize = uint.TryParse(logicalBlockSizeRaw.Result, out var lbs) ? lbs : 0;
var ro = roRaw.Result == "1";
// fragment
var uevent = ReadIfExists(Path.Combine(dev, "uevent"));
var sizeIn512BlocksRaw = ReadIfExists(Path.Combine(dev, "size"));
var logicalBlockSizeRaw = ReadIfExists(Path.Combine(dev, "queue", "logical_block_size"));
var model = ReadIfExists(Path.Combine(dev, "device", "model"));
var roRaw = ReadIfExists(Path.Combine(dev, "ro"));
await Task.WhenAll(uevent, sizeIn512BlocksRaw, logicalBlockSizeRaw, model, roRaw).ConfigureAwait(false); // <- hangs here
var ueventData = _ueventParser.Parse(uevent.Result);
var sizeIn512Blocks = ulong.TryParse(sizeIn512BlocksRaw.Result, out var size) ? size : 0;
var logicalBlockSize = uint.TryParse(logicalBlockSizeRaw.Result, out var lbs) ? lbs : 0;
var ro = roRaw.Result == "1";