fix
authorMiklos Szeredi <miklos@szeredi.hu>
Sat, 11 Sep 2004 07:37:45 +0000 (07:37 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Sat, 11 Sep 2004 07:37:45 +0000 (07:37 +0000)
ChangeLog
lib/fuse.c

index 664cb51349373a4d296b49af971ede9d8fa28442..29ab0c5b158efb13910f13dfdd56f4e25afa51ed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-09-09  Miklos Szeredi <miklos@szeredi.hu>
+
+       * Fix bug in case two FORGETs for the same node are executed in
+       the wrong order.  Bug spotted and endured for months by Franco
+       Broi, and logfile for solution provided by Terje Oseberg
+
 2004-09-01  Miklos Szeredi <miklos@szeredi.hu>
 
        * Add -D_REENTRANT to the compile flags
index ed525ca379cb655f88f3947115923d73a309330e..e954519d510eab105817717a807b155387e1de21 100644 (file)
@@ -269,8 +269,8 @@ static void destroy_node(struct fuse *f, fino_t ino, int version)
     struct node *node;
 
     pthread_mutex_lock(&f->lock);
-    node = get_node(f, ino);
-    if(node->version == version && ino != FUSE_ROOT_INO) {
+    node = __get_node(f, ino);
+    if(node && node->version == version && ino != FUSE_ROOT_INO) {
         unhash_name(f, node);
         unhash_ino(f, node);
         free_node(node);