aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/IO/ManagedFileSystem.cs
AgeCommit message (Collapse)Author
3 daysBackport pull request #15548 from jellyfin/release-10.11.ztheguymadmax
Fix NullReferenceException in filesystem path comparison Original-merge: 5ae444d96d473ba42c4a812c3f366b0faa6ebef4 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17Backport pull request #15263 from jellyfin/release-10.11.zrevam
Resolve symlinks for static media source infos Original-merge: 3b2d64995aab63ebaa6832c059a3cc0bdebe90dc Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27Backport pull request #15209 from jellyfin/release-10.11.zShadowghost
Improve symlink handling Original-merge: e5656af1f2e740c6e4f78f613d47d37567940ed8 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27Backport pull request #15054 from jellyfin/release-10.11.zShadowghost
Speed-up trickplay migration Original-merge: ca830d5be7c7a173f91ae7521d43cb47484718f1 Merged-by: crobibero <cody@robibe.ro> Backported-by: Bond_009 <bond.009@outlook.com>
2025-05-05Fix cross filesystem dir moving (#14063)gnattu
2025-05-04Cleanup file related code (#14023)Bond-009
2025-03-11Add ability to provide search patterndenys.kozhevnikov
2025-02-03Backport pull request #13390 from jellyfin/release-10.10.zgnattu
Catch IOExceptions for GetFileSystemMetadata Original-merge: 3766a88beaa4f1a9e8ab90f3ade24b474b1dde6c Merged-by: joshuaboniface <joshua@boniface.me> Backported-by: Bond_009 <bond.009@outlook.com>
2025-01-25chore: fix spellingJosh Soref
* a * acceleration * addition * altogether * api clients * artist * associated * bandwidth * cannot * capabilities * case-insensitive * case-sensitive * configuration * delimiter * dependent * diacritics * directors * enable * explicitly * filters * finish * have * hierarchy * implicit * include * information * into * its * keepalive * localization * macos * manual * matching * metadata * nonexistent * options * overridden * parsed * parser * playback * preferring * processes * processing * provider * ratings * retrieval * running * segments * separate * should * station * subdirectories * superseded * supported * system * than * the * throws * transpose * valid * was link: forum or chat rooms Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-07Enhance Trickplay (#11883)Tim Eisele
2024-07-15Use real temp dir instead of cache dir for temp files (#12226)Bond-009
2024-06-24Backport pull request #12025 from jellyfin/release-10.9.zShadowghost
Fix empty image folder removal for legacy locations Original-merge: 476dc01f4d5bf0fdf391935ef0759b0583bf7026 Merged-by: Bond-009 <bond.009@outlook.com> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-13Backport pull request #11570 from jellyfin/release-10.9.zgnattu
Fix absolute path checking on windows Original-merge: 6689d837d6dcfa0925efdbd9c76a7e1fe4f7cc54 Merged-by: crobibero <cody@robibe.ro> Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-03-18fix: skip library folders that are inaccessible or empty (#9291)Claus Vium
2023-10-12Merge branch 'master' into fix-resharper-warningsStepan Goremykin
# Conflicts: # Emby.Server.Implementations/Net/SocketFactory.cs # RSSDP/SsdpCommunicationsServer.cs # RSSDP/SsdpDeviceLocator.cs # RSSDP/SsdpDevicePublisher.cs
2023-10-08Reduce string literal length by using verbatim stringStepan Goremykin
2023-10-06Reduce string allocationsBond_009
Some simple changes to reduce the number of allocated strings
2023-10-03Use DI for IFileSystemPatrick Barron
2023-09-13Minor LibraryMonitor improvementsBond_009
* Enable nullable * Add a fast return to ReportFileSystemChanged when path should be ignored * Use Span overloads of Path.* functions where possible * IFileSystem: remove NormalizePath as Path.TrimEndingDirectorySeparator already checks if it's a root path
2023-07-01Align indentation on bottom brace of new listRonan Charles-Lorel
Should stop error SA1137 in debug build
2023-07-01Formatting Ronan Charles-Lorel
Fixes debug build? Co-authored-by: Bond-009 <bond.009@outlook.com>
2023-06-29Moving invalid chars list at class level with a better nameRonan Charles-Lorel
2023-06-29Remove call to Path.GetInvalidFileNameCharsRonan Charles-Lorel
Superseded by a static char list to avoid platform-dependent issues
2023-06-29Merge branch 'jellyfin:master' into masterRonan Charles-Lorel
2023-05-10Remove ExtendedFileSystemInfo (#9749)Bond-009
2023-01-31FormattingRonan Charles-Lorel
2023-01-31Add a way to add more invalid characters when sanitizing a filenameRonan Charles-Lorel
2022-12-07Use ArgumentException.ThrowIfNullOrEmptyBond_009
2022-12-05Replace != null with is not nullBond_009
2022-05-20Merge pull request #7724 from jtcasper/permsJoshua M. Boniface
(cherry picked from commit 884a59da07420708774eed25286950b14153c3dd) Signed-off-by: Joshua Boniface <joshua@boniface.me>
2022-03-02Split DirectoryExists and FileExistsCody Robibero
2022-02-28Use IFileSystemCody Robibero
2022-02-14Fix some warningsBond_009
2021-12-27More cleanupBond_009
2021-11-07Add some docs and testsBond_009
2021-11-07Fix UnauthorizedAccessException in GetDrivesBond_009
``` [15:01:24] [ERR] [55] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /Environment/Drives. System.UnauthorizedAccessException: Access to the path is denied. ---> System.IO.IOException: Operation not permitted --- End of inner exception stack trace --- at System.IO.DriveInfo.CheckStatfsResultAndThrowIfNecessary(Int32 result) at System.IO.DriveInfo.get_TotalSize() at Emby.Server.Implementations.IO.ManagedFileSystem.<>c.<GetDrives>b__32_0(DriveInfo d) in /home/bond/dev/jellyfin/Emby.Server.Implementations/IO/ManagedFileSystem.cs:line 583 at System.Linq.Enumerable.WhereSelectArrayIterator`2.ToList() at Emby.Server.Implementations.IO.ManagedFileSystem.GetDrives() in /home/bond/dev/jellyfin/Emby.Server.Implementations/IO/ManagedFileSystem.cs:line 583 at Jellyfin.Api.Controllers.EnvironmentController.GetDrives() in /home/bond/dev/jellyfin/Jellyfin.Api/Controllers/EnvironmentController.cs:line 153 at lambda_method559(Closure , Object , Object[] ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync() at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync() ```
2021-10-03Fix warnings in IOPatrick Barron
2021-09-25Use RandomAccess instead of a FileStream where it makes senseBond_009
2021-09-06Remove all unused usingsFernando Fernández
2021-09-06Merge pull request #6177 from Bond-009/asyncClaus Vium
Use async FileStreams where it makes sense
2021-09-03Fix some warningsBond_009
2021-09-02Use async FileStreams where it makes senseBond_009
2021-07-12Improve platform checksBond_009
2021-06-19Move non-jellyfin extensions to separate projectBond_009
2021-05-24Remove some unnecessary allocationscvium
2021-05-20Enable nullable reference types for Emby.Server.ImplementationsBond_009
2021-05-01Fix scanningBond_009
2021-04-22Improve fast path of ManagedFileSystem.GetValidFilenameBond_009
| Method | Data | Mean | Error | StdDev | Median | Gen 0 | Gen 1 | Gen 2 | Allocated | |---------------------------- |-------------- |------------:|----------:|----------:|------------:|-------:|------:|------:|----------:| | GetValidFilenameBench | AC/DCKD/A | 52.29 ns | 0.537 ns | 0.448 ns | 52.35 ns | 0.0255 | - | - | 80 B | | GetValidFilenameOldBench | AC/DCKD/A | 86.68 ns | 1.205 ns | 1.127 ns | 86.33 ns | 0.0587 | - | - | 184 B | | GetValidFilenameWinBench | AC/DCKD/A | 448.55 ns | 1.228 ns | 1.088 ns | 448.33 ns | 0.0505 | - | - | 160 B | | GetValidFilenameOldWinBench | AC/DCKD/A | 865.21 ns | 5.734 ns | 5.083 ns | 866.60 ns | 0.0839 | - | - | 264 B | | GetValidFilenameBench | ValidFileName | 16.00 ns | 0.234 ns | 0.207 ns | 16.02 ns | 0.0102 | - | - | 32 B | | GetValidFilenameOldBench | ValidFileName | 100.66 ns | 1.255 ns | 1.174 ns | 101.21 ns | 0.0587 | - | - | 184 B | | GetValidFilenameWinBench | ValidFileName | 116.60 ns | 1.624 ns | 1.519 ns | 116.88 ns | 0.0356 | - | - | 112 B | | GetValidFilenameOldWinBench | ValidFileName | 1,052.66 ns | 18.077 ns | 33.056 ns | 1,037.25 ns | 0.0839 | - | - | 264 B |
2021-04-22ManagedFileSystem: Rewrite GetValidFilename and more improvementsBond_009
2021-04-10Update Emby.Server.Implementations/IO/ManagedFileSystem.csClaus Vium
Co-authored-by: Cody Robibero <cody@robibe.ro>