internal void EnableFileSystemAccessorAccessLog(U8Span mountName) { if (MountTable.Find(mountName.ToString(), out FileSystemAccessor accessor).IsFailure()) { throw new LibHacException("abort"); } accessor.IsAccessLogEnabled = true; }
internal bool IsEnabledFileSystemAccessorAccessLog(string mountName) { if (MountTable.Find(mountName, out FileSystemAccessor accessor).IsFailure()) { return(true); } return(accessor.IsAccessLogEnabled); }
public void Unmount(string mountName) { MountTable.Find(mountName, out FileSystemAccessor fileSystem).ThrowIfFailure(); if (IsEnabledAccessLog() && fileSystem.IsAccessLogEnabled) { TimeSpan startTime = Time.GetCurrent(); MountTable.Unmount(mountName); TimeSpan endTime = Time.GetCurrent(); OutputAccessLog(startTime, endTime, $", name: \"{mountName}\""); } else { MountTable.Unmount(mountName); } }
internal Result FindFileSystem(ReadOnlySpan <char> path, out FileSystemAccessor fileSystem, out ReadOnlySpan <char> subPath) { fileSystem = default; Result result = GetMountName(path, out ReadOnlySpan <char> mountName, out subPath); if (result.IsFailure()) { return(result); } result = MountTable.Find(mountName.ToString(), out fileSystem); if (result.IsFailure()) { return(result); } return(Result.Success); }
public Result Commit(U8Span mountName) { Result rc = MountTable.Find(mountName.ToString(), out FileSystemAccessor fileSystem); if (rc.IsFailure()) { return(rc); } if (IsEnabledAccessLog() && fileSystem.IsAccessLogEnabled) { TimeSpan startTime = Time.GetCurrent(); rc = fileSystem.Commit(); TimeSpan endTime = Time.GetCurrent(); OutputAccessLog(rc, startTime, endTime, $", name: \"{mountName.ToString()}\""); } else { rc = fileSystem.Commit(); } return(rc); }