bugfix
authorMiklos Szeredi <miklos@szeredi.hu>
Fri, 6 May 2005 10:10:38 +0000 (10:10 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Fri, 6 May 2005 10:10:38 +0000 (10:10 +0000)
ChangeLog
lib/fuse.c

index e6c68f50c86894d82148e7abe094a3c55391c4a5..0e9e54d10b38aecf9a737a4725807414878252df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-05-06  Miklos Szeredi <miklos@szeredi.hu>
+
+       * Fix abort for out of order FORGET messages.  Again.  Spotted by
+       Franco Broi again.  Sorry :)
+
 2005-04-29  Miklos Szeredi <miklos@szeredi.hu>
 
        * Released 2.3-pre6
index 9659a0d29ffa572650444fb1b4878e609a821b9d..9bc933fd59dda6303af877e5f28d72d5dfc3c43e 100644 (file)
@@ -391,8 +391,8 @@ static void forget_node(struct fuse *f, nodeid_t nodeid, uint64_t version)
     struct node *node;
 
     pthread_mutex_lock(&f->lock);
-    node = get_node(f, nodeid);
-    if (node->version == version && nodeid != FUSE_ROOT_ID) {
+    node = get_node_nocheck(f, nodeid);
+    if (node && node->version == version && nodeid != FUSE_ROOT_ID) {
         node->version = 0;
         unhash_name(f, node);
         unref_node(f, node);