/fs/afs/ |
D | rotate.c | 23 bool afs_begin_vnode_operation(struct afs_fs_cursor *fc, struct afs_vnode *vnode, in afs_begin_vnode_operation() argument 26 memset(fc, 0, sizeof(*fc)); in afs_begin_vnode_operation() 27 fc->vnode = vnode; in afs_begin_vnode_operation() 28 fc->key = key; in afs_begin_vnode_operation() 29 fc->ac.error = SHRT_MAX; in afs_begin_vnode_operation() 30 fc->error = -EDESTADDRREQ; in afs_begin_vnode_operation() 33 fc->flags |= AFS_FS_CURSOR_INTR; in afs_begin_vnode_operation() 35 fc->error = -EINTR; in afs_begin_vnode_operation() 36 fc->flags |= AFS_FS_CURSOR_STOP; in afs_begin_vnode_operation() 44 fc->flags |= AFS_FS_CURSOR_CUR_ONLY; in afs_begin_vnode_operation() [all …]
|
D | fsclient.c | 275 int afs_fs_fetch_file_status(struct afs_fs_cursor *fc, struct afs_status_cb *scb, in afs_fs_fetch_file_status() argument 278 struct afs_vnode *vnode = fc->vnode; in afs_fs_fetch_file_status() 283 if (test_bit(AFS_SERVER_FL_IS_YFS, &fc->cbi->server->flags)) in afs_fs_fetch_file_status() 284 return yfs_fs_fetch_file_status(fc, scb, volsync); in afs_fs_fetch_file_status() 287 key_serial(fc->key), vnode->fid.vid, vnode->fid.vnode); in afs_fs_fetch_file_status() 292 fc->ac.error = -ENOMEM; in afs_fs_fetch_file_status() 296 call->key = fc->key; in afs_fs_fetch_file_status() 307 afs_use_fs_server(call, fc->cbi); in afs_fs_fetch_file_status() 310 afs_set_fc_call(call, fc); in afs_fs_fetch_file_status() 311 afs_make_call(&fc->ac, call, GFP_NOFS); in afs_fs_fetch_file_status() [all …]
|
D | xattr.c | 45 struct afs_fs_cursor fc; in afs_xattr_get_acl() local 63 if (afs_begin_vnode_operation(&fc, vnode, key, true)) { in afs_xattr_get_acl() 66 while (afs_select_fileserver(&fc)) { in afs_xattr_get_acl() 67 fc.cb_break = afs_calc_vnode_cb_break(vnode); in afs_xattr_get_acl() 68 acl = afs_fs_fetch_acl(&fc, scb); in afs_xattr_get_acl() 71 afs_check_for_remote_deletion(&fc, fc.vnode); in afs_xattr_get_acl() 72 afs_vnode_commit_status(&fc, vnode, fc.cb_break, in afs_xattr_get_acl() 74 ret = afs_end_vnode_operation(&fc); in afs_xattr_get_acl() 103 struct afs_fs_cursor fc; in afs_xattr_set_acl() local 131 if (afs_begin_vnode_operation(&fc, vnode, key, true)) { in afs_xattr_set_acl() [all …]
|
D | yfsclient.c | 393 int yfs_fs_fetch_file_status(struct afs_fs_cursor *fc, struct afs_status_cb *scb, in yfs_fs_fetch_file_status() argument 396 struct afs_vnode *vnode = fc->vnode; in yfs_fs_fetch_file_status() 402 key_serial(fc->key), vnode->fid.vid, vnode->fid.vnode); in yfs_fs_fetch_file_status() 411 fc->ac.error = -ENOMEM; in yfs_fs_fetch_file_status() 415 call->key = fc->key; in yfs_fs_fetch_file_status() 426 afs_use_fs_server(call, fc->cbi); in yfs_fs_fetch_file_status() 428 afs_set_fc_call(call, fc); in yfs_fs_fetch_file_status() 429 afs_make_call(&fc->ac, call, GFP_NOFS); in yfs_fs_fetch_file_status() 430 return afs_wait_for_call_to_complete(call, &fc->ac); in yfs_fs_fetch_file_status() 583 int yfs_fs_fetch_data(struct afs_fs_cursor *fc, struct afs_status_cb *scb, in yfs_fs_fetch_data() argument [all …]
|
D | dir.c | 646 struct afs_fs_cursor fc; in afs_do_lookup() local 736 if (afs_begin_vnode_operation(&fc, dvnode, key, true)) { in afs_do_lookup() 737 while (afs_select_fileserver(&fc)) { in afs_do_lookup() 739 &fc.cbi->server->flags)) { in afs_do_lookup() 740 fc.ac.abort_code = RX_INVALID_OPERATION; in afs_do_lookup() 741 fc.ac.error = -ECONNABORTED; in afs_do_lookup() 745 iget_data.cb_s_break = fc.cbi->server->cb_s_break; in afs_do_lookup() 746 afs_fs_inline_bulk_status(&fc, in afs_do_lookup() 753 if (fc.ac.error == 0) in afs_do_lookup() 754 cbi = afs_get_cb_interest(fc.cbi); in afs_do_lookup() [all …]
|
D | dir_silly.c | 22 struct afs_fs_cursor fc; in afs_do_silly_rename() local 33 if (afs_begin_vnode_operation(&fc, dvnode, key, true)) { in afs_do_silly_rename() 36 while (afs_select_fileserver(&fc)) { in afs_do_silly_rename() 37 fc.cb_break = afs_calc_vnode_cb_break(dvnode); in afs_do_silly_rename() 38 afs_fs_rename(&fc, old->d_name.name, in afs_do_silly_rename() 43 afs_vnode_commit_status(&fc, dvnode, fc.cb_break, in afs_do_silly_rename() 45 ret = afs_end_vnode_operation(&fc); in afs_do_silly_rename() 144 struct afs_fs_cursor fc; in afs_do_silly_unlink() local 155 if (afs_begin_vnode_operation(&fc, dvnode, key, false)) { in afs_do_silly_unlink() 158 while (afs_select_fileserver(&fc)) { in afs_do_silly_unlink() [all …]
|
D | super.c | 40 static int afs_init_fs_context(struct fs_context *fc); 230 static int afs_parse_source(struct fs_context *fc, struct fs_parameter *param) in afs_parse_source() argument 232 struct afs_fs_context *ctx = fc->fs_private; in afs_parse_source() 312 fc->source = param->string; in afs_parse_source() 320 static int afs_parse_param(struct fs_context *fc, struct fs_parameter *param) in afs_parse_param() argument 323 struct afs_fs_context *ctx = fc->fs_private; in afs_parse_param() 326 opt = fs_parse(fc, &afs_fs_parameters, param, &result); in afs_parse_param() 332 return afs_parse_source(fc, param); in afs_parse_param() 357 static int afs_validate_fc(struct fs_context *fc) in afs_validate_fc() argument 359 struct afs_fs_context *ctx = fc->fs_private; in afs_validate_fc() [all …]
|
D | mntpt.c | 72 static int afs_mntpt_set_params(struct fs_context *fc, struct dentry *mntpt) in afs_mntpt_set_params() argument 74 struct afs_fs_context *ctx = fc->fs_private; in afs_mntpt_set_params() 81 if (fc->net_ns != src_as->net_ns) { in afs_mntpt_set_params() 82 put_net(fc->net_ns); in afs_mntpt_set_params() 83 fc->net_ns = get_net(src_as->net_ns); in afs_mntpt_set_params() 145 ret = vfs_parse_fs_string(fc, "source", buf, size - 1); in afs_mntpt_set_params() 160 struct fs_context *fc; in afs_mntpt_do_automount() local 166 fc = fs_context_for_submount(&afs_fs_type, mntpt); in afs_mntpt_do_automount() 167 if (IS_ERR(fc)) in afs_mntpt_do_automount() 168 return ERR_CAST(fc); in afs_mntpt_do_automount() [all …]
|
D | inode.c | 165 static void afs_apply_status(struct afs_fs_cursor *fc, in afs_apply_status() argument 220 fc->type ? fc->type->name : "???"); in afs_apply_status() 247 static void afs_apply_callback(struct afs_fs_cursor *fc, in afs_apply_callback() argument 255 if (!afs_cb_is_broken(cb_break, vnode, fc->cbi)) { in afs_apply_callback() 259 if (old != fc->cbi) { in afs_apply_callback() 260 rcu_assign_pointer(vnode->cb_interest, afs_get_cb_interest(fc->cbi)); in afs_apply_callback() 271 void afs_vnode_commit_status(struct afs_fs_cursor *fc, in afs_vnode_commit_status() argument 277 if (fc->ac.error != 0) in afs_vnode_commit_status() 290 afs_apply_status(fc, vnode, scb, expected_version); in afs_vnode_commit_status() 292 afs_apply_callback(fc, vnode, scb, cb_break); in afs_vnode_commit_status() [all …]
|
/fs/ |
D | fs_context.c | 39 static int legacy_init_fs_context(struct fs_context *fc); 84 static int vfs_parse_sb_flag(struct fs_context *fc, const char *key) in vfs_parse_sb_flag() argument 95 fc->sb_flags |= token; in vfs_parse_sb_flag() 96 fc->sb_flags_mask |= token; in vfs_parse_sb_flag() 102 fc->sb_flags &= ~token; in vfs_parse_sb_flag() 103 fc->sb_flags_mask |= token; in vfs_parse_sb_flag() 126 int vfs_parse_fs_param(struct fs_context *fc, struct fs_parameter *param) in vfs_parse_fs_param() argument 131 return invalf(fc, "Unnamed parameter\n"); in vfs_parse_fs_param() 133 ret = vfs_parse_sb_flag(fc, param->key); in vfs_parse_fs_param() 137 ret = security_fs_context_parse_param(fc, param); in vfs_parse_fs_param() [all …]
|
D | fsopen.c | 27 struct fs_context *fc = file->private_data; in fscontext_read() local 28 struct fc_log *log = fc->log; in fscontext_read() 35 ret = mutex_lock_interruptible(&fc->uapi_mutex); in fscontext_read() 40 mutex_unlock(&fc->uapi_mutex); in fscontext_read() 50 mutex_unlock(&fc->uapi_mutex); in fscontext_read() 69 struct fs_context *fc = file->private_data; in fscontext_release() local 71 if (fc) { in fscontext_release() 73 put_fs_context(fc); in fscontext_release() 87 static int fscontext_create_fd(struct fs_context *fc, unsigned int o_flags) in fscontext_create_fd() argument 91 fd = anon_inode_getfd("[fscontext]", &fscontext_fops, fc, in fscontext_create_fd() [all …]
|
D | super.c | 485 bool mount_capable(struct fs_context *fc) in mount_capable() argument 487 if (!(fc->fs_type->fs_flags & FS_USERNS_MOUNT)) in mount_capable() 490 return ns_capable(fc->user_ns, CAP_SYS_ADMIN); in mount_capable() 511 struct super_block *sget_fc(struct fs_context *fc, in sget_fc() argument 517 struct user_namespace *user_ns = fc->global ? &init_user_ns : fc->user_ns; in sget_fc() 523 hlist_for_each_entry(old, &fc->fs_type->fs_supers, s_instances) { in sget_fc() 524 if (test(old, fc)) in sget_fc() 530 s = alloc_super(fc->fs_type, fc->sb_flags, user_ns); in sget_fc() 536 s->s_fs_info = fc->s_fs_info; in sget_fc() 537 err = set(s, fc); in sget_fc() [all …]
|
/fs/fuse/ |
D | control.c | 25 struct fuse_conn *fc; in fuse_ctl_file_conn_get() local 27 fc = file_inode(file)->i_private; in fuse_ctl_file_conn_get() 28 if (fc) in fuse_ctl_file_conn_get() 29 fc = fuse_conn_get(fc); in fuse_ctl_file_conn_get() 31 return fc; in fuse_ctl_file_conn_get() 37 struct fuse_conn *fc = fuse_ctl_file_conn_get(file); in fuse_conn_abort_write() local 38 if (fc) { in fuse_conn_abort_write() 39 if (fc->abort_err) in fuse_conn_abort_write() 40 fc->aborted = true; in fuse_conn_abort_write() 41 fuse_abort_conn(fc); in fuse_conn_abort_write() [all …]
|
D | inode.c | 114 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_evict_inode() local 115 fuse_queue_forget(fc, fi->forget, fi->nodeid, fi->nlookup); in fuse_evict_inode() 148 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_change_attributes_common() local 153 fi->attr_version = atomic64_inc_return(&fc->attr_version); in fuse_change_attributes_common() 160 inode->i_uid = make_kuid(fc->user_ns, attr->uid); in fuse_change_attributes_common() 161 inode->i_gid = make_kgid(fc->user_ns, attr->gid); in fuse_change_attributes_common() 166 if (!fc->writeback_cache || !S_ISREG(inode->i_mode)) { in fuse_change_attributes_common() 184 if (!fc->default_permissions) in fuse_change_attributes_common() 193 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_change_attributes() local 195 bool is_wb = fc->writeback_cache; in fuse_change_attributes() [all …]
|
D | dev.c | 77 void fuse_set_initialized(struct fuse_conn *fc) in fuse_set_initialized() argument 81 fc->initialized = 1; in fuse_set_initialized() 84 static bool fuse_block_alloc(struct fuse_conn *fc, bool for_background) in fuse_block_alloc() argument 86 return !fc->initialized || (for_background && fc->blocked); in fuse_block_alloc() 89 static void fuse_drop_waiting(struct fuse_conn *fc) in fuse_drop_waiting() argument 96 if (atomic_dec_and_test(&fc->num_waiting) && in fuse_drop_waiting() 97 !READ_ONCE(fc->connected)) { in fuse_drop_waiting() 99 wake_up_all(&fc->blocked_waitq); in fuse_drop_waiting() 103 static void fuse_put_request(struct fuse_conn *fc, struct fuse_req *req); 105 static struct fuse_req *fuse_get_req(struct fuse_conn *fc, bool for_background) in fuse_get_req() argument [all …]
|
D | file.c | 34 static int fuse_send_open(struct fuse_conn *fc, u64 nodeid, struct file *file, in fuse_send_open() argument 42 if (!fc->atomic_o_trunc) in fuse_send_open() 53 return fuse_simple_request(fc, &args); in fuse_send_open() 62 struct fuse_file *fuse_file_alloc(struct fuse_conn *fc) in fuse_file_alloc() argument 70 ff->fc = fc; in fuse_file_alloc() 84 ff->kh = atomic64_inc_return(&fc->khctr); in fuse_file_alloc() 102 static void fuse_release_end(struct fuse_conn *fc, struct fuse_args *args, in fuse_release_end() argument 116 if (isdir ? ff->fc->no_opendir : ff->fc->no_open) { in fuse_file_put() 118 fuse_release_end(ff->fc, args, 0); in fuse_file_put() 120 fuse_simple_request(ff->fc, args); in fuse_file_put() [all …]
|
D | dir.c | 57 struct fuse_conn *fc = get_fuse_conn_super(dentry->d_sb); in fuse_dentry_settime() local 58 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 199 struct fuse_conn *fc; in fuse_dentry_revalidate() local 221 fc = get_fuse_conn(inode); in fuse_dentry_revalidate() 228 attr_version = fuse_get_attr_version(fc); in fuse_dentry_revalidate() 231 fuse_lookup_init(fc, &args, get_node_id(d_inode(parent)), in fuse_dentry_revalidate() 233 ret = fuse_simple_request(fc, &args); in fuse_dentry_revalidate() 241 fuse_queue_forget(fc, forget, outarg.nodeid, 1); in fuse_dentry_revalidate() 332 struct fuse_conn *fc = get_fuse_conn_super(sb); in fuse_lookup_name() local [all …]
|
D | cuse.c | 60 struct fuse_conn fc; /* fuse connection */ member 72 static struct cuse_conn *fc_to_cc(struct fuse_conn *fc) in fc_to_cc() argument 74 return container_of(fc, struct cuse_conn, fc); in fc_to_cc() 123 fuse_conn_get(&pos->fc); in cuse_open() 137 rc = fuse_do_open(&cc->fc, 0, file, 0); in cuse_open() 139 fuse_conn_put(&cc->fc); in cuse_open() 146 struct fuse_conn *fc = ff->fc; in cuse_release() local 149 fuse_conn_put(fc); in cuse_release() 158 struct cuse_conn *cc = fc_to_cc(ff->fc); in cuse_file_ioctl() 171 struct cuse_conn *cc = fc_to_cc(ff->fc); in cuse_file_compat_ioctl() [all …]
|
D | xattr.c | 17 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_setxattr() local 22 if (fc->no_setxattr) in fuse_setxattr() 37 err = fuse_simple_request(fc, &args); in fuse_setxattr() 39 fc->no_setxattr = 1; in fuse_setxattr() 52 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_getxattr() local 58 if (fc->no_getxattr) in fuse_getxattr() 80 ret = fuse_simple_request(fc, &args); in fuse_getxattr() 84 fc->no_getxattr = 1; in fuse_getxattr() 110 struct fuse_conn *fc = get_fuse_conn(inode); in fuse_listxattr() local 116 if (!fuse_allow_current_process(fc)) in fuse_listxattr() [all …]
|
D | fuse_i.h | 169 struct fuse_conn *fc; member 254 void (*end)(struct fuse_conn *fc, struct fuse_args *args, int error); 458 struct fuse_conn *fc; member 782 static inline u64 fuse_get_attr_version(struct fuse_conn *fc) in fuse_get_attr_version() argument 784 return atomic64_read(&fc->attr_version); in fuse_get_attr_version() 811 void fuse_queue_forget(struct fuse_conn *fc, struct fuse_forget_link *forget, 848 struct fuse_file *fuse_file_alloc(struct fuse_conn *fc); 868 int fuse_notify_poll_wakeup(struct fuse_conn *fc, 916 ssize_t fuse_simple_request(struct fuse_conn *fc, struct fuse_args *args); 917 int fuse_simple_background(struct fuse_conn *fc, struct fuse_args *args, [all …]
|
/fs/proc/ |
D | root.c | 55 static int proc_parse_param(struct fs_context *fc, struct fs_parameter *param) in proc_parse_param() argument 57 struct proc_fs_context *ctx = fc->fs_private; in proc_parse_param() 61 opt = fs_parse(fc, &proc_fs_parameters, param, &result); in proc_parse_param() 74 return invalf(fc, "proc: hidepid value must be between 0 and 2.\n"); in proc_parse_param() 85 static void proc_apply_options(struct fs_context *fc, in proc_apply_options() argument 89 struct proc_fs_context *ctx = fc->fs_private; in proc_apply_options() 97 static int proc_fill_super(struct super_block *s, struct fs_context *fc) in proc_fill_super() argument 103 proc_apply_options(fc, pid_ns, current_user_ns()); in proc_fill_super() 144 static int proc_reconfigure(struct fs_context *fc) in proc_reconfigure() argument 146 struct super_block *sb = fc->root->d_sb; in proc_reconfigure() [all …]
|
/fs/sysfs/ |
D | mount.c | 26 static int sysfs_get_tree(struct fs_context *fc) in sysfs_get_tree() argument 28 struct kernfs_fs_context *kfc = fc->fs_private; in sysfs_get_tree() 31 ret = kernfs_get_tree(fc); in sysfs_get_tree() 36 fc->root->d_sb->s_iflags |= SB_I_USERNS_VISIBLE; in sysfs_get_tree() 40 static void sysfs_fs_context_free(struct fs_context *fc) in sysfs_fs_context_free() argument 42 struct kernfs_fs_context *kfc = fc->fs_private; in sysfs_fs_context_free() 46 kernfs_free_fs_context(fc); in sysfs_fs_context_free() 55 static int sysfs_init_fs_context(struct fs_context *fc) in sysfs_init_fs_context() argument 60 if (!(fc->sb_flags & SB_KERNMOUNT)) { in sysfs_init_fs_context() 72 fc->fs_private = kfc; in sysfs_init_fs_context() [all …]
|
/fs/squashfs/ |
D | super.c | 41 struct fs_context *fc, in supported_squashfs_filesystem() argument 47 errorf(fc, "Major/Minor mismatch, older Squashfs %d.%d " in supported_squashfs_filesystem() 51 errorf(fc, "Major/Minor mismatch, trying to mount newer " in supported_squashfs_filesystem() 53 errorf(fc, "Please update your kernel"); in supported_squashfs_filesystem() 59 errorf(fc, "Filesystem uses \"%s\" compression. This is not supported", in supported_squashfs_filesystem() 68 static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc) in squashfs_fill_super() argument 103 errorf(fc, "unable to read squashfs_super_block"); in squashfs_fill_super() 114 if (!(fc->sb_flags & SB_SILENT)) in squashfs_fill_super() 115 errorf(fc, "Can't find a SQUASHFS superblock on %pg", in squashfs_fill_super() 122 fc, in squashfs_fill_super() [all …]
|
/fs/jffs2/ |
D | super.c | 193 static int jffs2_parse_param(struct fs_context *fc, struct fs_parameter *param) in jffs2_parse_param() argument 196 struct jffs2_sb_info *c = fc->s_fs_info; in jffs2_parse_param() 199 opt = fs_parse(fc, &jffs2_fs_parameters, param, &result); in jffs2_parse_param() 210 return invalf(fc, "jffs2: rp_size unrepresentable"); in jffs2_parse_param() 213 return invalf(fc, "jffs2: Too large reserve pool specified, max is %llu KB", in jffs2_parse_param() 224 static int jffs2_reconfigure(struct fs_context *fc) in jffs2_reconfigure() argument 226 struct super_block *sb = fc->root->d_sb; in jffs2_reconfigure() 229 return jffs2_do_remount_fs(sb, fc); in jffs2_reconfigure() 247 static int jffs2_fill_super(struct super_block *sb, struct fs_context *fc) in jffs2_fill_super() argument 274 return jffs2_do_fill_super(sb, fc); in jffs2_fill_super() [all …]
|
/fs/sdcardfs/ |
D | main.c | 66 static int sdcardfs_parse_param(struct fs_context *fc, struct fs_parameter *param) in sdcardfs_parse_param() argument 68 struct sdcardfs_context_options *fc_opts = fc->fs_private; in sdcardfs_parse_param() 74 opt = fs_parse(fc, &sdcardfs_parameters, param, &result); in sdcardfs_parse_param() 123 struct fs_context *fc) in copy_sb_opts() argument 125 struct sdcardfs_context_options *fcopts = fc->fs_private; in copy_sb_opts() 180 struct fs_context *fc) in __sdcardfs_fill_super() argument 187 const char *dev_name = fc->source; in __sdcardfs_fill_super() 188 struct sdcardfs_context_options *fcopts = fc->fs_private; in __sdcardfs_fill_super() 220 copy_sb_opts(&sb_info->options, fc); in __sdcardfs_fill_super() 300 if (!(fc->sb_flags & SB_SILENT)) in __sdcardfs_fill_super() [all …]
|