diff --git a/osu.Game/Database/RealmFileStore.cs b/osu.Game/Database/RealmFileStore.cs
index 4f429cb20c..f75d3be725 100644
--- a/osu.Game/Database/RealmFileStore.cs
+++ b/osu.Game/Database/RealmFileStore.cs
@@ -65,7 +65,7 @@ namespace osu.Game.Database
if (data is FileStream fs && preferHardLinks)
{
// attempt to do a fast hard link rather than copy.
- if (HardLinkHelper.AttemptHardLink(Storage.GetFullPath(file.GetStoragePath(), true), fs.Name))
+ if (HardLinkHelper.TryCreateHardLink(Storage.GetFullPath(file.GetStoragePath(), true), fs.Name))
return;
}
diff --git a/osu.Game/IO/HardLinkHelper.cs b/osu.Game/IO/HardLinkHelper.cs
index d6ca11a68f..9c0a8fbba1 100644
--- a/osu.Game/IO/HardLinkHelper.cs
+++ b/osu.Game/IO/HardLinkHelper.cs
@@ -30,7 +30,7 @@ namespace osu.Game.IO
File.WriteAllText(testSourcePath, string.Empty);
// Test availability by creating an arbitrary hard link between the source and destination paths.
- return AttemptHardLink(testDestinationPath, testSourcePath);
+ return TryCreateHardLink(testDestinationPath, testSourcePath);
}
catch
{
@@ -54,15 +54,23 @@ namespace osu.Game.IO
}
}
- public static bool AttemptHardLink(string testDestinationPath, string testSourcePath)
+ ///
+ /// Attempts to create a hard link from to ,
+ /// using platform-specific native methods.
+ ///
+ ///
+ /// Hard links are only available on Windows and Linux.
+ ///
+ /// Whether the hard link was successfully created.
+ public static bool TryCreateHardLink(string destinationPath, string sourcePath)
{
switch (RuntimeInfo.OS)
{
case RuntimeInfo.Platform.Windows:
- return CreateHardLink(testDestinationPath, testSourcePath, IntPtr.Zero);
+ return CreateHardLink(destinationPath, sourcePath, IntPtr.Zero);
case RuntimeInfo.Platform.Linux:
- return link(testSourcePath, testDestinationPath) == 0;
+ return link(sourcePath, destinationPath) == 0;
default:
return false;