DragonFly commits List (threaded) for 2009-03
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
DragonFly-2.2.0.3.gfe771 rel2_2 sys/vfs/msdosfs msdosfs_denode.c
commit fe7717df0d7279d431d9d7a2b431ca452ea8dc46
Author: Nicolas Thery <nthery@gmail.com>
Date: Sun Mar 1 20:03:45 2009 +0100
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 629f33a733bba046a296b5f1dfa4ef45bc388cb4)
Summary of changes:
sys/vfs/msdosfs/msdosfs_denode.c | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fe7717df0d7279d431d9d7a2b431ca452ea8dc46
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]