Update create directory to clear cluster when directory is created #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have been using DiscUtils for many years with great success and I have recently experienced an issue with fat filesystem library where creating a new directory in root directory of a FAT32 formatted partition would contain existing directories and files with garbled filename characters.
After a lot of testing, I discovered the reason for the newly created directory already contained directories and files with garbled filename characters was caused by clusters contained data from a non-valid FAT32 filesystem structure, which are interpreted as directories and files by DiscUtils fat file system library.
I examined FAT32 clusters when Windows 11 creates a new directory and a file within the directory and noticed that Windows had cleared the cluster with zeroes before creating the cluster for the directory content.
I propose a change to
PopulateNewChildDirectorythat clears the cluster with zeroes before creating the self and parent referencing directory entries. I also added a test that was first used to verify the issue with existing data can cause a newly created directory to contain existing directories and files with garbled filenames and afterwards use it to fix the issue and verify it works.