fix
authorMiklos Szeredi <miklos@szeredi.hu>
Thu, 9 Sep 2004 08:44:01 +0000 (08:44 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Thu, 9 Sep 2004 08:44:01 +0000 (08:44 +0000)
ChangeLog
lib/fuse.c

index a1f4ab1f435f723a76c2558eaf367b8eb6223769..fe8eb6bdc091403e6f91a29605d93a9d4b1b5290 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 671fbcc2bcbdf82e1698d9b0c89b7ba70fabcc62..6c998c36a715139ce6cbe8874c077925118b11cb 100644 (file)
@@ -317,8 +317,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);