microsoft / microsoft/VFSForGit
Harden placeholder list persistence, and persist before writing placeholder
Open
Nobody has claimed this yet.
affects: reliability
type: bug
- Dominant language
- C#
- Stars
- 6.1k
- Forks
- 474
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 8
Description
(Copying from 1196804 in old backlog)
Currently VFS4G can lose track of a placeholder if either:
- There is a power loss before VFS4G attempts to write to the placeholder list (but after it has written the placeholder)
- There is a power loss before the placeholder list is flushed to disk
To address these issues:
- VFS4G should write to the placeholder list before writing the placeholder
- VFS4G should flush the file buffers for the placeholder list file
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating VFS4G's placeholder-list persistence and placeholder-write paths; the issue does not name specific files or tests. Trace the power-loss ordering and buffer-flush behavior, then verify that the placeholder list is persisted before the placeholder and flushed to disk.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100