Lines Matching refs:nodeid
145 fuse_ino_t nodeid; member
190 fuse_ino_t nodeid; member
528 static struct node *get_node_nocheck(struct fuse *f, fuse_ino_t nodeid) in get_node_nocheck() argument
530 size_t hash = id_hash(f, nodeid); in get_node_nocheck()
534 if (node->nodeid == nodeid) in get_node_nocheck()
540 static struct node *get_node(struct fuse *f, fuse_ino_t nodeid) in get_node() argument
542 struct node *node = get_node_nocheck(f, nodeid); in get_node()
545 (unsigned long long) nodeid); in get_node()
622 struct node **nodep = &f->id_table.array[id_hash(f, node->nodeid)]; in unhash_id()
666 size_t newhash = id_hash(f, node->nodeid); in rehash_id()
683 size_t hash = id_hash(f, node->nodeid); in hash_id()
740 size_t hash = name_hash(f, node->parent->nodeid, node->name); in unhash_name()
760 (unsigned long long) node->nodeid); in unhash_name()
779 size_t newhash = name_hash(f, node->parent->nodeid, node->name); in rehash_name()
824 (unsigned long long) node->nodeid); in delete_node()
860 if (node->parent->nodeid == parent && in lookup_node()
889 node->nodeid = next_id(f); in find_node()
932 ino = node->nodeid; in lookup_path_in_cache()
976 static void unlock_path(struct fuse *f, fuse_ino_t nodeid, struct node *wnode, in unlock_path() argument
986 for (node = get_node(f, nodeid); in unlock_path()
987 node != end && node->nodeid != FUSE_ROOT_ID; node = node->parent) { in unlock_path()
997 static int try_get_path(struct fuse *f, fuse_ino_t nodeid, const char *name, in try_get_path() argument
1026 wnode = lookup_node(f, nodeid, name); in try_get_path()
1038 for (node = get_node(f, nodeid); node->nodeid != FUSE_ROOT_ID; in try_get_path()
1071 unlock_path(f, nodeid, wnode, node); in try_get_path()
1159 static void debug_path(struct fuse *f, const char *msg, fuse_ino_t nodeid, in debug_path() argument
1166 wnode = lookup_node(f, nodeid, name); in debug_path()
1170 msg, (unsigned long long) wnode->nodeid); in debug_path()
1173 msg, (unsigned long long) nodeid); in debug_path()
1213 static int get_path_common(struct fuse *f, fuse_ino_t nodeid, const char *name, in get_path_common() argument
1219 err = try_get_path(f, nodeid, name, path, wnode, true); in get_path_common()
1222 .nodeid1 = nodeid, in get_path_common()
1227 debug_path(f, "QUEUE PATH", nodeid, name, !!wnode); in get_path_common()
1229 debug_path(f, "DEQUEUE PATH", nodeid, name, !!wnode); in get_path_common()
1236 static int get_path(struct fuse *f, fuse_ino_t nodeid, char **path) in get_path() argument
1238 return get_path_common(f, nodeid, NULL, path, NULL); in get_path()
1241 static int get_path_nullok(struct fuse *f, fuse_ino_t nodeid, char **path) in get_path_nullok() argument
1248 err = get_path_common(f, nodeid, NULL, path, NULL); in get_path_nullok()
1256 static int get_path_name(struct fuse *f, fuse_ino_t nodeid, const char *name, in get_path_name() argument
1259 return get_path_common(f, nodeid, name, path, NULL); in get_path_name()
1262 static int get_path_wrlock(struct fuse *f, fuse_ino_t nodeid, const char *name, in get_path_wrlock() argument
1265 return get_path_common(f, nodeid, name, path, wnode); in get_path_wrlock()
1281 id1 = node1 ? node1->nodeid : nodeid1; in check_dir_loop()
1284 id2 = node2 ? node2->nodeid : nodeid2; in check_dir_loop()
1286 for (node = get_node(f, id2); node->nodeid != FUSE_ROOT_ID; in check_dir_loop()
1291 if (node->nodeid != id2 && node->nodeid == id1) in check_dir_loop()
1297 for (node = get_node(f, id1); node->nodeid != FUSE_ROOT_ID; in check_dir_loop()
1302 if (node->nodeid != id1 && node->nodeid == id2) in check_dir_loop()
1380 static void free_path_wrlock(struct fuse *f, fuse_ino_t nodeid, in free_path_wrlock() argument
1384 unlock_path(f, nodeid, wnode, NULL); in free_path_wrlock()
1391 static void free_path(struct fuse *f, fuse_ino_t nodeid, char *path) in free_path() argument
1394 free_path_wrlock(f, nodeid, NULL, path); in free_path()
1410 static void forget_node(struct fuse *f, fuse_ino_t nodeid, uint64_t nlookup) in forget_node() argument
1413 if (nodeid == FUSE_ROOT_ID) in forget_node()
1416 node = get_node(f, nodeid); in forget_node()
1424 .nodeid1 = nodeid, in forget_node()
1427 debug_path(f, "QUEUE PATH (forget)", nodeid, NULL, false); in forget_node()
1435 debug_path(f, "DEQUEUE_PATH (forget)", nodeid, NULL, false); in forget_node()
1535 static void set_stat(struct fuse *f, fuse_ino_t nodeid, struct stat *stbuf) in set_stat() argument
1538 stbuf->st_ino = nodeid; in set_stat()
2436 (unsigned int) node->nodeid, f->hidectr); in hidden_name()
2508 static int do_lookup(struct fuse *f, fuse_ino_t nodeid, const char *name, in do_lookup() argument
2513 node = find_node(f, nodeid, name); in do_lookup()
2517 e->ino = node->nodeid; in do_lookup()
2530 static int lookup_path(struct fuse *f, fuse_ino_t nodeid, in lookup_path() argument
2539 res = do_lookup(f, nodeid, name, e); in lookup_path()
2712 parent = get_node(f, parent)->parent->nodeid; in fuse_lib_lookup()
3392 dh->nodeid = ino; in fuse_lib_opendir()
3482 res = node->nodeid; in lookup_nodeid()
3510 lookup_nodeid(dh->fuse, dh->nodeid, name); in fill_dir()
3573 res = do_lookup(f, dh->nodeid, name, &e); in fill_dir_plus()
3583 lookup_nodeid(f, dh->nodeid, name); in fill_dir_plus()
4997 root->nodeid = FUSE_ROOT_ID; in fuse_new_31()
5070 if (try_get_path(f, node->nodeid, NULL, &path, NULL, false) == 0) { in fuse_destroy()