fixes
diff --git a/lib/fuse.c b/lib/fuse.c
index c87bff3..8fc1bac 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -256,10 +256,11 @@
 static fuse_ino_t next_id(struct fuse *f)
 {
     do {
-        f->ctr++;
+        f->ctr = (f->ctr + 1) & 0xffffffff;
         if (!f->ctr)
             f->generation ++;
-    } while (f->ctr == 0 || get_node_nocheck(f, f->ctr) != NULL);
+    } while (f->ctr == 0 || f->ctr == FUSE_UNKNOWN_INO ||
+             get_node_nocheck(f, f->ctr) != NULL);
     return f->ctr;
 }