Lines Matching refs:ino

510 static size_t id_hash(struct fuse *f, fuse_ino_t ino)
512 uint64_t hash = ((uint32_t) ino * 2654435761U) % f->id_table.size;
914 fuse_ino_t ino = FUSE_ROOT_ID;
920 struct node *node = lookup_node(f, ino, path_element);
925 ino = node->nodeid;
932 *inop = ino;
2468 e->ino = node->nodeid;
2477 set_stat(f, e->ino, &e->attr);
2493 (unsigned long long) e->ino);
2586 if (e->ino != 0)
2587 forget_node(f, e->ino, 1);
2674 e.ino = 0;
2689 static void do_forget(struct fuse *f, fuse_ino_t ino, uint64_t nlookup)
2692 fuse_log(FUSE_LOG_DEBUG, "FORGET %llu/%llu\n", (unsigned long long)ino,
2694 forget_node(f, ino, nlookup);
2697 static void fuse_lib_forget(fuse_req_t req, fuse_ino_t ino, uint64_t nlookup)
2699 do_forget(req_fuse(req), ino, nlookup);
2710 do_forget(f, forgets[i].ino, forgets[i].nlookup);
2716 static void fuse_lib_getattr(fuse_req_t req, fuse_ino_t ino,
2727 err = get_path_nullok(f, ino, &path);
2729 err = get_path(f, ino, &path);
2735 free_path(f, ino, path);
2741 node = get_node(f, ino);
2747 set_stat(f, ino, &buf);
2770 static void fuse_lib_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr,
2780 err = get_path_nullok(f, ino, &path);
2782 err = get_path(f, ino, &path);
2837 free_path(f, ino, path);
2842 update_stat(get_node(f, ino), &buf);
2845 set_stat(f, ino, &buf);
2851 static void fuse_lib_access(fuse_req_t req, fuse_ino_t ino, int mask)
2857 err = get_path(f, ino, &path);
2864 free_path(f, ino, path);
2869 static void fuse_lib_readlink(fuse_req_t req, fuse_ino_t ino)
2876 err = get_path(f, ino, &path);
2882 free_path(f, ino, path);
3072 static void fuse_lib_link(fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent,
3081 err = get_path2(f, ino, NULL, newparent, newname,
3092 free_path2(f, ino, newparent, NULL, NULL, oldpath, newpath);
3097 static void fuse_do_release(struct fuse *f, fuse_ino_t ino, const char *path,
3106 node = get_node(f, ino);
3121 if (get_path(f, ino, &unlinkpath) == 0)
3124 free_path(f, ino, unlinkpath);
3150 forget_node(f, e.ino, 1);
3165 get_node(f, e.ino)->open_count++;
3170 fuse_do_release(f, e.ino, path, fi);
3171 forget_node(f, e.ino, 1);
3187 static void open_auto_cache(struct fuse *f, fuse_ino_t ino, const char *path,
3193 node = get_node(f, ino);
3218 static void fuse_lib_open(fuse_req_t req, fuse_ino_t ino,
3226 err = get_path(f, ino, &path);
3237 open_auto_cache(f, ino, path, fi);
3251 get_node(f, ino)->open_count++;
3256 fuse_do_release(f, ino, path, fi);
3261 free_path(f, ino, path);
3264 static void fuse_lib_read(fuse_req_t req, fuse_ino_t ino, size_t size,
3272 res = get_path_nullok(f, ino, &path);
3279 free_path(f, ino, path);
3290 static void fuse_lib_write_buf(fuse_req_t req, fuse_ino_t ino,
3298 res = get_path_nullok(f, ino, &path);
3305 free_path(f, ino, path);
3314 static void fuse_lib_fsync(fuse_req_t req, fuse_ino_t ino, int datasync,
3321 err = get_path_nullok(f, ino, &path);
3328 free_path(f, ino, path);
3342 static void fuse_lib_opendir(fuse_req_t req, fuse_ino_t ino,
3363 dh->nodeid = ino;
3371 err = get_path(f, ino, &path);
3393 free_path(f, ino, path);
3531 /* ino=0 tells the kernel to ignore readdirplus stat info */
3532 .ino = 0,
3607 static int readdir_fill(struct fuse *f, fuse_req_t req, fuse_ino_t ino,
3616 err = get_path_nullok(f, ino, &path);
3618 err = get_path(f, ino, &path);
3642 free_path(f, ino, path);
3673 .ino = 0,
3691 static void fuse_readdir_common(fuse_req_t req, fuse_ino_t ino, size_t size,
3707 err = readdir_fill(f, req, ino, size, off, dh, &fi, flags);
3726 static void fuse_lib_readdir(fuse_req_t req, fuse_ino_t ino, size_t size,
3729 fuse_readdir_common(req, ino, size, off, llfi, 0);
3732 static void fuse_lib_readdirplus(fuse_req_t req, fuse_ino_t ino, size_t size,
3735 fuse_readdir_common(req, ino, size, off, llfi, FUSE_READDIR_PLUS);
3738 static void fuse_lib_releasedir(fuse_req_t req, fuse_ino_t ino,
3747 get_path_nullok(f, ino, &path);
3752 free_path(f, ino, path);
3763 static void fuse_lib_fsyncdir(fuse_req_t req, fuse_ino_t ino, int datasync,
3773 err = get_path_nullok(f, ino, &path);
3779 free_path(f, ino, path);
3784 static void fuse_lib_statfs(fuse_req_t req, fuse_ino_t ino)
3792 if (ino)
3793 err = get_path(f, ino, &path);
3800 free_path(f, ino, path);
3809 static void fuse_lib_setxattr(fuse_req_t req, fuse_ino_t ino, const char *name,
3816 err = get_path(f, ino, &path);
3822 free_path(f, ino, path);
3827 static int common_getxattr(struct fuse *f, fuse_req_t req, fuse_ino_t ino,
3833 err = get_path(f, ino, &path);
3839 free_path(f, ino, path);
3844 static void fuse_lib_getxattr(fuse_req_t req, fuse_ino_t ino, const char *name,
3856 res = common_getxattr(f, req, ino, name, value, size);
3863 res = common_getxattr(f, req, ino, name, NULL, 0);
3871 static int common_listxattr(struct fuse *f, fuse_req_t req, fuse_ino_t ino,
3877 err = get_path(f, ino, &path);
3883 free_path(f, ino, path);
3888 static void fuse_lib_listxattr(fuse_req_t req, fuse_ino_t ino, size_t size)
3899 res = common_listxattr(f, req, ino, list, size);
3906 res = common_listxattr(f, req, ino, NULL, 0);
3914 static void fuse_lib_removexattr(fuse_req_t req, fuse_ino_t ino,
3921 err = get_path(f, ino, &path);
3927 free_path(f, ino, path);
4051 static int fuse_flush_common(struct fuse *f, fuse_req_t req, fuse_ino_t ino,
4072 locks_insert(get_node(f, ino), &l);
4083 static void fuse_lib_release(fuse_req_t req, fuse_ino_t ino,
4091 get_path_nullok(f, ino, &path);
4093 err = fuse_flush_common(f, req, ino, path, fi);
4099 fuse_do_release(f, ino, path, fi);
4101 free_path(f, ino, path);
4106 static void fuse_lib_flush(fuse_req_t req, fuse_ino_t ino,
4113 get_path_nullok(f, ino, &path);
4114 err = fuse_flush_common(f, req, ino, path, fi);
4115 free_path(f, ino, path);
4120 static int fuse_lock_common(fuse_req_t req, fuse_ino_t ino,
4128 err = get_path_nullok(f, ino, &path);
4134 free_path(f, ino, path);
4139 static void fuse_lib_getlk(fuse_req_t req, fuse_ino_t ino,
4150 conflict = locks_conflict(get_node(f, ino), &l);
4155 err = fuse_lock_common(req, ino, fi, lock, F_GETLK);
4165 static void fuse_lib_setlk(fuse_req_t req, fuse_ino_t ino,
4169 int err = fuse_lock_common(req, ino, fi, lock,
4177 locks_insert(get_node(f, ino), &l);
4183 static void fuse_lib_flock(fuse_req_t req, fuse_ino_t ino,
4190 err = get_path_nullok(f, ino, &path);
4196 free_path(f, ino, path);
4201 static void fuse_lib_bmap(fuse_req_t req, fuse_ino_t ino, size_t blocksize,
4209 err = get_path(f, ino, &path);
4214 free_path(f, ino, path);
4222 static void fuse_lib_ioctl(fuse_req_t req, fuse_ino_t ino, unsigned int cmd,
4253 err = get_path_nullok(f, ino, &path);
4263 free_path(f, ino, path);
4275 static void fuse_lib_poll(fuse_req_t req, fuse_ino_t ino,
4284 err = get_path_nullok(f, ino, &path);
4289 free_path(f, ino, path);
4297 static void fuse_lib_fallocate(fuse_req_t req, fuse_ino_t ino, int mode,
4305 err = get_path_nullok(f, ino, &path);
4310 free_path(f, ino, path);
4354 static void fuse_lib_lseek(fuse_req_t req, fuse_ino_t ino, off_t off, int whence,
4363 err = get_path(f, ino, &path);
4372 free_path(f, ino, path);
4638 fuse_ino_t ino;
4639 int err = lookup_path_in_cache(f, path, &ino);
4644 return fuse_lowlevel_notify_inval_inode(f->se, ino, 0, 0);