Subject: CVS commit: src/sys/fs/msdosfs
To: None <source-changes@NetBSD.org>
From: Antti Kantee <pooka@netbsd.org>
List: source-changes
Date: 11/14/2007 19:16:29
Module Name:	src
Committed By:	pooka
Date:		Wed Nov 14 19:16:29 UTC 2007

Modified Files:
	src/sys/fs/msdosfs: msdosfs_vnops.c

Log Message:
Fix a problem noticed by Reinoud: the fs would try to release an
unlocked vnode when trying to rename a directory.  The fix was to
shuffle some bits around and #pray.

The rename routine actually needs a very very major wide-angle whopping:
 * it takes locks out-of-order
 * it deals with references from SAVESTART lookups in interesting ways
 * I doubt there is any guarantee for correct operation if there
   are multiple concurrent accesses
 * the error branches might just as well call panic() directly


To generate a diff of this commit:
cvs rdiff -r1.42 -r1.43 src/sys/fs/msdosfs/msdosfs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.