Lines Matching refs:nodeid
138 fuse_ino_t nodeid; member
183 fuse_ino_t nodeid; member
521 static struct node *get_node_nocheck(struct fuse *f, fuse_ino_t nodeid) in get_node_nocheck() argument
523 size_t hash = id_hash(f, nodeid); in get_node_nocheck()
527 if (node->nodeid == nodeid) in get_node_nocheck()
533 static struct node *get_node(struct fuse *f, fuse_ino_t nodeid) in get_node() argument
535 struct node *node = get_node_nocheck(f, nodeid); in get_node()
538 (unsigned long long) nodeid); in get_node()
615 struct node **nodep = &f->id_table.array[id_hash(f, node->nodeid)]; in unhash_id()
659 size_t newhash = id_hash(f, node->nodeid); in rehash_id()
676 size_t hash = id_hash(f, node->nodeid); in hash_id()
733 size_t hash = name_hash(f, node->parent->nodeid, node->name); in unhash_name()
753 (unsigned long long) node->nodeid); in unhash_name()
772 size_t newhash = name_hash(f, node->parent->nodeid, node->name); in rehash_name()
817 (unsigned long long) node->nodeid); in delete_node()
853 if (node->parent->nodeid == parent && in lookup_node()
882 node->nodeid = next_id(f); in find_node()
925 ino = node->nodeid; in lookup_path_in_cache()
969 static void unlock_path(struct fuse *f, fuse_ino_t nodeid, struct node *wnode, in unlock_path() argument
979 for (node = get_node(f, nodeid); in unlock_path()
980 node != end && node->nodeid != FUSE_ROOT_ID; node = node->parent) { in unlock_path()
990 static int try_get_path(struct fuse *f, fuse_ino_t nodeid, const char *name, in try_get_path() argument
1019 wnode = lookup_node(f, nodeid, name); in try_get_path()
1031 for (node = get_node(f, nodeid); node->nodeid != FUSE_ROOT_ID; in try_get_path()
1064 unlock_path(f, nodeid, wnode, node); in try_get_path()
1133 static void debug_path(struct fuse *f, const char *msg, fuse_ino_t nodeid, in debug_path() argument
1140 wnode = lookup_node(f, nodeid, name); in debug_path()
1144 msg, (unsigned long long) wnode->nodeid); in debug_path()
1147 msg, (unsigned long long) nodeid); in debug_path()
1185 static int get_path_common(struct fuse *f, fuse_ino_t nodeid, const char *name, in get_path_common() argument
1191 err = try_get_path(f, nodeid, name, path, wnode, true); in get_path_common()
1194 .nodeid1 = nodeid, in get_path_common()
1199 debug_path(f, "QUEUE PATH", nodeid, name, !!wnode); in get_path_common()
1201 debug_path(f, "DEQUEUE PATH", nodeid, name, !!wnode); in get_path_common()
1208 static int get_path(struct fuse *f, fuse_ino_t nodeid, char **path) in get_path() argument
1210 return get_path_common(f, nodeid, NULL, path, NULL); in get_path()
1213 static int get_path_nullok(struct fuse *f, fuse_ino_t nodeid, char **path) in get_path_nullok() argument
1220 err = get_path_common(f, nodeid, NULL, path, NULL); in get_path_nullok()
1228 static int get_path_name(struct fuse *f, fuse_ino_t nodeid, const char *name, in get_path_name() argument
1231 return get_path_common(f, nodeid, name, path, NULL); in get_path_name()
1234 static int get_path_wrlock(struct fuse *f, fuse_ino_t nodeid, const char *name, in get_path_wrlock() argument
1237 return get_path_common(f, nodeid, name, path, wnode); in get_path_wrlock()
1253 id1 = node1 ? node1->nodeid : nodeid1; in check_dir_loop()
1256 id2 = node2 ? node2->nodeid : nodeid2; in check_dir_loop()
1258 for (node = get_node(f, id2); node->nodeid != FUSE_ROOT_ID; in check_dir_loop()
1263 if (node->nodeid != id2 && node->nodeid == id1) in check_dir_loop()
1269 for (node = get_node(f, id1); node->nodeid != FUSE_ROOT_ID; in check_dir_loop()
1274 if (node->nodeid != id1 && node->nodeid == id2) in check_dir_loop()
1331 static void free_path_wrlock(struct fuse *f, fuse_ino_t nodeid, in free_path_wrlock() argument
1335 unlock_path(f, nodeid, wnode, NULL); in free_path_wrlock()
1342 static void free_path(struct fuse *f, fuse_ino_t nodeid, char *path) in free_path() argument
1345 free_path_wrlock(f, nodeid, NULL, path); in free_path()
1361 static void forget_node(struct fuse *f, fuse_ino_t nodeid, uint64_t nlookup) in forget_node() argument
1364 if (nodeid == FUSE_ROOT_ID) in forget_node()
1367 node = get_node(f, nodeid); in forget_node()
1375 .nodeid1 = nodeid, in forget_node()
1378 debug_path(f, "QUEUE PATH (forget)", nodeid, NULL, false); in forget_node()
1386 debug_path(f, "DEQUEUE_PATH (forget)", nodeid, NULL, false); in forget_node()
1486 static void set_stat(struct fuse *f, fuse_ino_t nodeid, struct stat *stbuf) in set_stat() argument
1489 stbuf->st_ino = nodeid; in set_stat()
2387 (unsigned int) node->nodeid, f->hidectr); in hidden_name()
2459 static int do_lookup(struct fuse *f, fuse_ino_t nodeid, const char *name, in do_lookup() argument
2464 node = find_node(f, nodeid, name); in do_lookup()
2468 e->ino = node->nodeid; in do_lookup()
2481 static int lookup_path(struct fuse *f, fuse_ino_t nodeid, in lookup_path() argument
2490 res = do_lookup(f, nodeid, name, e); in lookup_path()
2659 parent = get_node(f, parent)->parent->nodeid; in fuse_lib_lookup()
2972 if (try_get_path(f, wnode->nodeid, NULL, &unlinkpath, NULL, false) == 0) { in fuse_lib_unlink()
3363 dh->nodeid = ino; in fuse_lib_opendir()
3455 res = node->nodeid; in lookup_nodeid()
3483 lookup_nodeid(dh->fuse, dh->nodeid, name); in fill_dir()
3546 res = do_lookup(f, dh->nodeid, name, &e); in fill_dir_plus()
3561 lookup_nodeid(f, dh->nodeid, name); in fill_dir_plus()
5005 root->nodeid = FUSE_ROOT_ID; in fuse_new_31()
5076 if (try_get_path(f, node->nodeid, NULL, &path, NULL, false) == 0) { in fuse_destroy()