Lines Matching refs:fc
19 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_use_readdirplus() local
22 if (!fc->do_readdirplus) in fuse_use_readdirplus()
24 if (!fc->readdirplus_auto) in fuse_use_readdirplus()
148 static void fuse_lookup_init(struct fuse_conn *fc, struct fuse_args *args, in fuse_lookup_init() argument
163 u64 fuse_get_attr_version(struct fuse_conn *fc) in fuse_get_attr_version() argument
171 spin_lock(&fc->lock); in fuse_get_attr_version()
172 curr_version = fc->attr_version; in fuse_get_attr_version()
173 spin_unlock(&fc->lock); in fuse_get_attr_version()
191 struct fuse_conn *fc; in fuse_dentry_revalidate() local
213 fc = get_fuse_conn(inode); in fuse_dentry_revalidate()
220 attr_version = fuse_get_attr_version(fc); in fuse_dentry_revalidate()
223 fuse_lookup_init(fc, &args, get_node_id(d_inode(parent)), in fuse_dentry_revalidate()
225 ret = fuse_simple_request(fc, &args); in fuse_dentry_revalidate()
233 fuse_queue_forget(fc, forget, outarg.nodeid, 1); in fuse_dentry_revalidate()
236 spin_lock(&fc->lock); in fuse_dentry_revalidate()
238 spin_unlock(&fc->lock); in fuse_dentry_revalidate()
288 struct fuse_conn *fc = get_fuse_conn_super(sb); in fuse_lookup_name() local
305 attr_version = fuse_get_attr_version(fc); in fuse_lookup_name()
307 fuse_lookup_init(fc, &args, nodeid, name, outarg); in fuse_lookup_name()
308 err = fuse_simple_request(fc, &args); in fuse_lookup_name()
324 fuse_queue_forget(fc, forget, outarg->nodeid, 1); in fuse_lookup_name()
389 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_create_open() local
406 ff = fuse_file_alloc(fc); in fuse_create_open()
410 if (!fc->dont_mask) in fuse_create_open()
431 err = fuse_simple_request(fc, &args); in fuse_create_open()
447 fuse_queue_forget(fc, forget, outentry.nodeid, 1); in fuse_create_open()
478 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_atomic_open() local
496 if (fc->no_create) in fuse_atomic_open()
501 fc->no_create = 1; in fuse_atomic_open()
519 static int create_new_entry(struct fuse_conn *fc, struct fuse_args *args, in create_new_entry() argument
537 err = fuse_simple_request(fc, args); in create_new_entry()
551 fuse_queue_forget(fc, forget, outarg.nodeid, 1); in create_new_entry()
573 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_mknod() local
576 if (!fc->dont_mask) in fuse_mknod()
589 return create_new_entry(fc, &args, dir, entry, mode); in fuse_mknod()
601 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_mkdir() local
604 if (!fc->dont_mask) in fuse_mkdir()
616 return create_new_entry(fc, &args, dir, entry, S_IFDIR); in fuse_mkdir()
622 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_symlink() local
632 return create_new_entry(fc, &args, dir, entry, S_IFLNK); in fuse_symlink()
646 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_unlink() local
654 err = fuse_simple_request(fc, &args); in fuse_unlink()
659 spin_lock(&fc->lock); in fuse_unlink()
660 fi->attr_version = ++fc->attr_version; in fuse_unlink()
669 spin_unlock(&fc->lock); in fuse_unlink()
682 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_rmdir() local
690 err = fuse_simple_request(fc, &args); in fuse_rmdir()
706 struct fuse_conn *fc = get_fuse_conn(olddir); in fuse_rename_common() local
721 err = fuse_simple_request(fc, &args); in fuse_rename_common()
760 struct fuse_conn *fc = get_fuse_conn(olddir); in fuse_rename2() local
767 if (fc->no_rename2 || fc->minor < 23) in fuse_rename2()
774 fc->no_rename2 = 1; in fuse_rename2()
792 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_link() local
803 err = create_new_entry(fc, &args, newdir, newent, inode->i_mode); in fuse_link()
813 spin_lock(&fc->lock); in fuse_link()
814 fi->attr_version = ++fc->attr_version; in fuse_link()
816 spin_unlock(&fc->lock); in fuse_link()
829 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_fillattr() local
832 if (fc->writeback_cache && S_ISREG(inode->i_mode)) { in fuse_fillattr()
870 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_do_getattr() local
874 attr_version = fuse_get_attr_version(fc); in fuse_do_getattr()
893 err = fuse_simple_request(fc, &args); in fuse_do_getattr()
1013 int fuse_allow_current_process(struct fuse_conn *fc) in fuse_allow_current_process() argument
1017 if (fc->flags & FUSE_ALLOW_OTHER) in fuse_allow_current_process()
1021 if (uid_eq(cred->euid, fc->user_id) && in fuse_allow_current_process()
1022 uid_eq(cred->suid, fc->user_id) && in fuse_allow_current_process()
1023 uid_eq(cred->uid, fc->user_id) && in fuse_allow_current_process()
1024 gid_eq(cred->egid, fc->group_id) && in fuse_allow_current_process()
1025 gid_eq(cred->sgid, fc->group_id) && in fuse_allow_current_process()
1026 gid_eq(cred->gid, fc->group_id)) in fuse_allow_current_process()
1034 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_access() local
1041 if (fc->no_access) in fuse_access()
1051 err = fuse_simple_request(fc, &args); in fuse_access()
1053 fc->no_access = 1; in fuse_access()
1082 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_permission() local
1086 if (!fuse_allow_current_process(fc)) in fuse_permission()
1092 if ((fc->flags & FUSE_DEFAULT_PERMISSIONS) || in fuse_permission()
1105 if (fc->flags & FUSE_DEFAULT_PERMISSIONS) { in fuse_permission()
1173 struct fuse_conn *fc; in fuse_direntplus_link() local
1203 fc = get_fuse_conn(dir); in fuse_direntplus_link()
1220 spin_lock(&fc->lock); in fuse_direntplus_link()
1222 spin_unlock(&fc->lock); in fuse_direntplus_link()
1258 if (fc->readdirplus_auto) in fuse_direntplus_link()
1318 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_readdir() local
1325 req = fuse_get_req(fc, 1); in fuse_readdir()
1331 fuse_put_request(fc, req); in fuse_readdir()
1341 attr_version = fuse_get_attr_version(fc); in fuse_readdir()
1348 fuse_request_send(fc, req); in fuse_readdir()
1351 fuse_put_request(fc, req); in fuse_readdir()
1371 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_follow_link() local
1386 ret = fuse_simple_request(fc, &args); in fuse_follow_link()
1419 struct fuse_conn *fc = get_fuse_conn(file->f_mapping->host); in fuse_dir_ioctl() local
1422 if (fc->minor < 18) in fuse_dir_ioctl()
1431 struct fuse_conn *fc = get_fuse_conn(file->f_mapping->host); in fuse_dir_compat_ioctl() local
1433 if (fc->minor < 18) in fuse_dir_compat_ioctl()
1500 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_set_nowrite() local
1505 spin_lock(&fc->lock); in fuse_set_nowrite()
1508 spin_unlock(&fc->lock); in fuse_set_nowrite()
1529 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_release_nowrite() local
1531 spin_lock(&fc->lock); in fuse_release_nowrite()
1533 spin_unlock(&fc->lock); in fuse_release_nowrite()
1536 static void fuse_setattr_fill(struct fuse_conn *fc, struct fuse_args *args, in fuse_setattr_fill() argument
1556 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_flush_times() local
1567 if (fc->minor >= 23) { in fuse_flush_times()
1576 fuse_setattr_fill(fc, &args, inode, &inarg, &outarg); in fuse_flush_times()
1578 return fuse_simple_request(fc, &args); in fuse_flush_times()
1592 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_do_setattr() local
1598 bool is_wb = fc->writeback_cache; in fuse_do_setattr()
1603 if (!(fc->flags & FUSE_DEFAULT_PERMISSIONS)) in fuse_do_setattr()
1611 if (fc->atomic_o_trunc) in fuse_do_setattr()
1637 inarg.lock_owner = fuse_lock_owner_id(fc, current->files); in fuse_do_setattr()
1639 fuse_setattr_fill(fc, &args, inode, &inarg, &outarg); in fuse_do_setattr()
1640 err = fuse_simple_request(fc, &args); in fuse_do_setattr()
1653 spin_lock(&fc->lock); in fuse_do_setattr()
1674 spin_unlock(&fc->lock); in fuse_do_setattr()
1714 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_getattr() local
1716 if (!fuse_allow_current_process(fc)) in fuse_getattr()
1726 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_setxattr() local
1731 if (fc->no_setxattr) in fuse_setxattr()
1746 err = fuse_simple_request(fc, &args); in fuse_setxattr()
1748 fc->no_setxattr = 1; in fuse_setxattr()
1762 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_getxattr() local
1768 if (fc->no_getxattr) in fuse_getxattr()
1790 ret = fuse_simple_request(fc, &args); in fuse_getxattr()
1794 fc->no_getxattr = 1; in fuse_getxattr()
1803 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_listxattr() local
1809 if (!fuse_allow_current_process(fc)) in fuse_listxattr()
1812 if (fc->no_listxattr) in fuse_listxattr()
1832 ret = fuse_simple_request(fc, &args); in fuse_listxattr()
1836 fc->no_listxattr = 1; in fuse_listxattr()
1845 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_removexattr() local
1849 if (fc->no_removexattr) in fuse_removexattr()
1857 err = fuse_simple_request(fc, &args); in fuse_removexattr()
1859 fc->no_removexattr = 1; in fuse_removexattr()