Skip to content

Commit 4f7745d

Browse files
committed
Remove FileOptions.SequentialScan for write operations
1 parent f6c2b7d commit 4f7745d

File tree

1 file changed

+2
-10
lines changed

1 file changed

+2
-10
lines changed

src/Ramstack.FileSystem.Physical/PhysicalFile.cs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,7 @@ protected override ValueTask<Stream> OpenWriteCoreAsync(CancellationToken cancel
5959
{
6060
EnsureDirectoryExists();
6161

62-
var options = Path.DirectorySeparatorChar == '\\'
63-
? FileOptions.Asynchronous | FileOptions.SequentialScan
64-
: FileOptions.Asynchronous;
65-
66-
var stream = new FileStream(_physicalPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None, DefaultBufferSize, options);
62+
var stream = new FileStream(_physicalPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None, DefaultBufferSize, FileOptions.Asynchronous);
6763

6864
// Since FileMode.OpenOrCreate doesn't truncate the file, we manually
6965
// set the file length to zero to remove any leftover data.
@@ -79,16 +75,12 @@ protected override async ValueTask WriteCoreAsync(Stream stream, bool overwrite,
7975

8076
try
8177
{
82-
var options = Path.DirectorySeparatorChar == '\\'
83-
? FileOptions.Asynchronous | FileOptions.SequentialScan
84-
: FileOptions.Asynchronous;
85-
8678
// To overwrite the file, we use FileMode.OpenOrCreate instead of FileMode.Create.
8779
// This avoids a System.UnauthorizedAccessException: Access to the path is denied,
8880
// which can occur if the file has the FileAttributes.Hidden attribute.
8981
var fileMode = overwrite ? FileMode.OpenOrCreate : FileMode.CreateNew;
9082

91-
await using var fs = new FileStream(_physicalPath, fileMode, FileAccess.Write, FileShare.None, DefaultBufferSize, options);
83+
await using var fs = new FileStream(_physicalPath, fileMode, FileAccess.Write, FileShare.None, DefaultBufferSize, FileOptions.Asynchronous);
9284

9385
// Since FileMode.OpenOrCreate doesn't truncate the file, we manually
9486
// set the file length to zero to remove any leftover data.

0 commit comments

Comments
 (0)