in Core/src/Impl/Commands/StorageManager.cs [314:351]
private async Task ValidateAndFixAclAsync(ILogger logger, int degreeOfParallelism, IEnumerable<SymbolStoragePath> files, bool fix)
{
if (!myStorage.SupportAccessMode)
{
logger.Warning("Validating access rights is not supported for storage");
return;
}
logger.Info($"[{DateTime.Now:s}] Validating access rights{myId}...");
await files.ParallelForAsync(degreeOfParallelism, async file =>
{
logger.Verbose($" Validating {file}");
if (TagUtil.IsTagFile(file) || TagUtil.IsStorageCasingFile(file))
{
if (await myStorage.GetAccessModeAsync(file) != AccessMode.Private)
{
logger.Error($"The internal file {file} has invalid access rights");
if (fix)
{
logger.Fix($"Update access rights for the internal file {file}");
await myStorage.SetAccessModeAsync(file, AccessMode.Private);
}
}
}
else
{
if (await myStorage.GetAccessModeAsync(file) != AccessMode.Public)
{
logger.Error($"The storage file {file} has invalid access rights");
if (fix)
{
logger.Fix($"Update access rights for the storage file {file}");
await myStorage.SetAccessModeAsync(file, AccessMode.Public);
}
}
}
});
}