Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/ntfs Always unlock the "fnode", even if we're about to f...



details:   https://anonhg.NetBSD.org/src/rev/b73a18b57071
branches:  trunk
changeset: 479756:b73a18b57071
user:      fvdl <fvdl%NetBSD.org@localhost>
date:      Mon Dec 20 22:11:57 1999 +0000

description:
Always unlock the "fnode", even if we're about to free it, to keep
lock counts consistent. DIAGNOSTIC checks will barf otherwise.

XXX ntfs_ntput should not free the node, the reclaim vop should do it
XXX why does the ntfs code do its own internal locking?

diffstat:

 sys/ntfs/ntfs_subr.c |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (27 lines):

diff -r 94d581b04b8a -r b73a18b57071 sys/ntfs/ntfs_subr.c
--- a/sys/ntfs/ntfs_subr.c      Mon Dec 20 21:59:29 1999 +0000
+++ b/sys/ntfs/ntfs_subr.c      Mon Dec 20 22:11:57 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ntfs_subr.c,v 1.23 1999/10/31 19:45:26 jdolecek Exp $  */
+/*     $NetBSD: ntfs_subr.c,v 1.24 1999/12/20 22:11:57 fvdl Exp $      */
 
 /*-
  * Copyright (c) 1998, 1999 Semen Ustimenko (semenu%FreeBSD.org@localhost)
@@ -450,6 +450,8 @@
        }
 #endif
 
+       lockmgr(&ip->i_lock, LK_RELEASE|LK_INTERLOCK, &ip->i_interlock);
+
        if (ip->i_usecount == 0) {
                dprintf(("ntfs_ntput: deallocating ntnode: %d\n",
                        ip->i_number));
@@ -465,8 +467,6 @@
                        ntfs_freentvattr(vap);
                }
                FREE(ip, M_NTFSNTNODE);
-       } else {
-               lockmgr(&ip->i_lock, LK_RELEASE|LK_INTERLOCK, &ip->i_interlock);
        }
 }
 



Home | Main Index | Thread Index | Old Index