aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/IO/ManagedFileSystem.cs
AgeCommit message (Collapse)Author
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>
2021-04-09don't die on dangling symlinkscvium
2021-04-01Remove ManagedFileSystem.IsRootPathBond_009
`Path.IsPathRooted` should be used instead
2021-02-02Don't skip hidden filescrobibero
2020-12-31Ignore inaccessible files during library scansGary Wilber
2020-08-31Fix some warningsBond_009
2020-07-18FullName property instead of ToString in ↵Ken
Emby.Server.Implementations/IO/ManagedFileSystem.cs Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-18Spacing standard on Emby.Server.Implementations/IO/ManagedFileSystem.csKen
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-07-18Merge 'master' updates into 2354-soft-link-sizesKen Brazier
2020-06-16fix SA1513/SA1516telans
2020-06-15fix SA1005telans
2020-06-05Use typed logger where possiblecrobibero
2020-05-312354 open soft-links to read sizeKen Brazier
2020-03-24Remove unused usingsBond_009
2020-02-23Fix some warningsBond_009
* Add analyzers to MediaBrowser.XbmcMetadata * Enable TreatWarningsAsErrors for MediaBrowser.XbmcMetadata * Add analyzers to MediaBrowser.WebDashboard * Enable TreatWarningsAsErrors for MediaBrowser.WebDashboard * Disable SA1600 in favor of CS1591
2020-01-22Remove FileSystem.GetStreamBond-009
2020-01-13change invariant culture to ordinaldkanada
2020-01-13check operating system for absolute path testdkanada
2020-01-13fix tests for absolute pathsdkanada
2020-01-10Merge branch 'master' into warn12Bond_009
2020-01-08Re-order the path statement to avoid file issuesAnthony Lavado
Fixes #31874.
2019-12-11More warnings (removed)Bond_009
2019-11-27Fix more warningsBond_009
2019-08-09Use CultureInvariant string conversion for GuidsBond-009
2019-06-09Improve main code flowBond_009
Improved the way how some parts of the code depend on eachother Fixed some style issues
2019-06-02split the new command to more than one linedkanada
2019-05-16only return useful drivesdkanada
2019-03-29Merge ifsBond_009
2019-03-28Improve IO codeBond_009
* Style changes * Remove remnants of SMB support * Use `GetInvalidFileNameChars` instead of rolling our own * Remove possible unexpected behaviour with async file streams * Remove some dead code
2019-03-07Remove EnvironmentInfoBond-009
This moved the last bit of usefulness of EnvironmentInfo into a static class.
2019-03-07Cleanup/simplificationBond-009
* Removed useless copies/allocations * Reduced unneeded complexity
2019-02-17Removed unnecessary configuration options and reduced primitive dependenciesWilliam Taylor
2019-02-17Removed primitives from services in Program.csWilliam Taylor
This will make it easier to move dependency registration to a system without having to new up all the services first. Moved the primitives to an IConfiguration which is much easier to inject.