DragonFly-188.8.131.528.g629f3 master sys/vfs/msdosfs msdosfs_denode.c
dillon at apollo.backplane.com
Sat Feb 28 15:53:32 PST 2009
I'm not quite sure about this solution. It it possible to delete
the cached (dead) denode instead?
: 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.
More information about the Commits