Lines Matching refs:fc

67 	struct fuse_conn *fc = get_fuse_conn_super(dentry->d_sb);  in fuse_dentry_settime()  local
68 bool delete = !time && fc->delete_stale; in fuse_dentry_settime()
171 static void fuse_lookup_init(struct fuse_conn *fc, struct fuse_args *args, in fuse_lookup_init() argument
203 struct fuse_conn *fc; in fuse_dentry_revalidate() local
207 fc = get_fuse_conn_super(dir->i_sb); in fuse_dentry_revalidate()
208 if (entry->d_time < atomic_read(&fc->epoch)) in fuse_dentry_revalidate()
236 attr_version = fuse_get_attr_version(fm->fc); in fuse_dentry_revalidate()
238 fuse_lookup_init(fm->fc, &args, get_node_id(dir), in fuse_dentry_revalidate()
248 fuse_queue_forget(fm->fc, forget, in fuse_dentry_revalidate()
368 if (name->len > fm->fc->name_max) in fuse_lookup_name()
377 attr_version = fuse_get_attr_version(fm->fc); in fuse_lookup_name()
378 evict_ctr = fuse_get_evict_ctr(fm->fc); in fuse_lookup_name()
380 fuse_lookup_init(fm->fc, &args, nodeid, name, outarg); in fuse_lookup_name()
399 fuse_queue_forget(fm->fc, forget, outarg->nodeid, 1); in fuse_lookup_name()
414 struct fuse_conn *fc; in fuse_lookup() local
424 fc = get_fuse_conn_super(dir->i_sb); in fuse_lookup()
425 epoch = atomic_read(&fc->epoch); in fuse_lookup()
553 struct fuse_conn *fc = get_fuse_conn(dir); in get_create_supp_group() local
557 vfsgid_t vfsgid = make_vfsgid(idmap, fc->user_ns, kgid); in get_create_supp_group()
558 gid_t parent_gid = from_kgid(fc->user_ns, kgid); in get_create_supp_group()
585 struct fuse_conn *fc = get_fuse_conn_super(dentry->d_sb); in get_create_ext() local
589 if (fc->init_security) in get_create_ext()
591 if (!err && fc->create_supp_group) in get_create_ext()
637 epoch = atomic_read(&fm->fc->epoch); in fuse_create_open()
648 if (!fm->fc->dont_mask) in fuse_create_open()
658 if (fm->fc->handle_killpriv_v2 && trunc && in fuse_create_open()
700 fuse_queue_forget(fm->fc, forget, outentry.nodeid, 1); in fuse_create_open()
718 if (fm->fc->atomic_o_trunc && trunc) in fuse_create_open()
741 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_atomic_open() local
762 if (fc->no_create) in fuse_atomic_open()
767 fc->no_create = 1; in fuse_atomic_open()
799 epoch = atomic_read(&fm->fc->epoch); in create_new_entry()
832 fuse_queue_forget(fm->fc, forget, outarg.nodeid, 1); in create_new_entry()
882 if (!fm->fc->dont_mask) in fuse_mknod()
907 struct fuse_conn *fc = get_fuse_conn(dir); in fuse_tmpfile() local
910 if (fc->no_tmpfile) in fuse_tmpfile()
916 fc->no_tmpfile = 1; in fuse_tmpfile()
929 if (!fm->fc->dont_mask) in fuse_mkdir()
986 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_entry_unlinked() local
990 fi->attr_version = atomic64_inc_return(&fc->attr_version); in fuse_entry_unlinked()
1108 struct fuse_conn *fc = get_fuse_conn(olddir); in fuse_rename2() local
1118 if (fc->no_rename2 || fc->minor < 23) in fuse_rename2()
1126 fc->no_rename2 = 1; in fuse_rename2()
1147 if (fm->fc->no_link) in fuse_link()
1165 fm->fc->no_link = 1; in fuse_link()
1167 if (fm->fc->no_link) in fuse_link()
1177 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_fillattr() local
1178 vfsuid_t vfsuid = make_vfsuid(idmap, fc->user_ns, in fuse_fillattr()
1179 make_kuid(fc->user_ns, attr->uid)); in fuse_fillattr()
1180 vfsgid_t vfsgid = make_vfsgid(idmap, fc->user_ns, in fuse_fillattr()
1181 make_kgid(fc->user_ns, attr->gid)); in fuse_fillattr()
1236 u64 attr_version = fuse_get_attr_version(fm->fc); in fuse_do_statx()
1298 attr_version = fuse_get_attr_version(fm->fc); in fuse_do_getattr()
1339 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_update_get_attr() local
1349 if (fc->no_statx) in fuse_update_get_attr()
1366 if (!fc->no_statx && (request_mask & ~STATX_BASIC_STATS)) { in fuse_update_get_attr()
1369 fc->no_statx = 1; in fuse_update_get_attr()
1394 int fuse_reverse_inval_entry(struct fuse_conn *fc, u64 parent_nodeid, in fuse_reverse_inval_entry() argument
1402 parent = fuse_ilookup(fc, parent_nodeid, NULL); in fuse_reverse_inval_entry()
1462 static inline bool fuse_permissible_uidgid(struct fuse_conn *fc) in fuse_permissible_uidgid() argument
1466 return (uid_eq(cred->euid, fc->user_id) && in fuse_permissible_uidgid()
1467 uid_eq(cred->suid, fc->user_id) && in fuse_permissible_uidgid()
1468 uid_eq(cred->uid, fc->user_id) && in fuse_permissible_uidgid()
1469 gid_eq(cred->egid, fc->group_id) && in fuse_permissible_uidgid()
1470 gid_eq(cred->sgid, fc->group_id) && in fuse_permissible_uidgid()
1471 gid_eq(cred->gid, fc->group_id)); in fuse_permissible_uidgid()
1487 bool fuse_allow_current_process(struct fuse_conn *fc) in fuse_allow_current_process() argument
1491 if (fc->allow_other) in fuse_allow_current_process()
1492 allow = current_in_userns(fc->user_ns); in fuse_allow_current_process()
1494 allow = fuse_permissible_uidgid(fc); in fuse_allow_current_process()
1519 if (fm->fc->no_access) in fuse_access()
1531 fm->fc->no_access = 1; in fuse_access()
1562 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_permission() local
1569 if (!fuse_allow_current_process(fc)) in fuse_permission()
1575 if (fc->default_permissions || in fuse_permission()
1590 if (fc->default_permissions) { in fuse_permission()
1660 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_get_link() local
1668 if (fc->cache_symlinks) in fuse_get_link()
1735 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_dir_fsync() local
1741 if (fc->no_fsyncdir) in fuse_dir_fsync()
1747 fc->no_fsyncdir = 1; in fuse_dir_fsync()
1758 struct fuse_conn *fc = get_fuse_conn(file->f_mapping->host); in fuse_dir_ioctl() local
1761 if (fc->minor < 18) in fuse_dir_ioctl()
1770 struct fuse_conn *fc = get_fuse_conn(file->f_mapping->host); in fuse_dir_compat_ioctl() local
1772 if (fc->minor < 18) in fuse_dir_compat_ioctl()
1797 static void iattr_to_fattr(struct mnt_idmap *idmap, struct fuse_conn *fc, in iattr_to_fattr() argument
1807 kuid_t fsuid = from_vfsuid(idmap, fc->user_ns, iattr->ia_vfsuid); in iattr_to_fattr()
1810 arg->uid = from_kuid(fc->user_ns, fsuid); in iattr_to_fattr()
1814 kgid_t fsgid = from_vfsgid(idmap, fc->user_ns, iattr->ia_vfsgid); in iattr_to_fattr()
1817 arg->gid = from_kgid(fc->user_ns, fsgid); in iattr_to_fattr()
1886 static void fuse_setattr_fill(struct fuse_conn *fc, struct fuse_args *args, in fuse_setattr_fill() argument
1917 if (fm->fc->minor >= 23) { in fuse_flush_times()
1926 fuse_setattr_fill(fm->fc, &args, inode, &inarg, &outarg); in fuse_flush_times()
1944 struct fuse_conn *fc = fm->fc; in fuse_do_setattr() local
1951 bool is_wb = fc->writeback_cache && S_ISREG(inode->i_mode); in fuse_do_setattr()
1958 if (!fc->default_permissions) in fuse_do_setattr()
1985 if (fc->atomic_o_trunc) { in fuse_do_setattr()
2020 iattr_to_fattr(idmap, fc, attr, &inarg, trust_local_cmtime); in fuse_do_setattr()
2028 if (fc->handle_killpriv_v2 && !S_ISDIR(inode->i_mode) && in fuse_do_setattr()
2035 inarg.lock_owner = fuse_lock_owner_id(fc, current->files); in fuse_do_setattr()
2038 if (fc->handle_killpriv_v2 && !capable(CAP_FSETID)) in fuse_do_setattr()
2042 attr_version = fuse_get_attr_version(fm->fc); in fuse_do_setattr()
2043 fuse_setattr_fill(fc, &args, inode, &inarg, &outarg); in fuse_do_setattr()
2122 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_setattr() local
2142 if (!fc->handle_killpriv && !fc->handle_killpriv_v2) { in fuse_setattr()
2171 if (fc->posix_acl) in fuse_setattr()
2186 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_getattr() local
2191 if (!fuse_allow_current_process(fc)) { in fuse_getattr()