Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
msdosfs: fix deleted-but-open files handling.
When deleting a file, msdosfs keeps its denode in the denode cache until it is reclaimed. This causes a collision in the cache when recycling the directory entry of a deleted but still open file for a new or renamed file. This collision was incorrecly handled resulting in a kernel panic (rename case) or syscall error and corrupted in-core state (new file case). Fix by allowing denodes pointing to the same directory entry to coexist in the cache as long as a single one of them represents an existing file. Reported-by: corecore@ Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1286> (cherry picked from commit 629f33a)
- Loading branch information