Lines Matching refs:fm
23 static int fuse_send_open(struct fuse_mount *fm, u64 nodeid,
32 if (!fm->fc->atomic_o_trunc)
35 if (fm->fc->handle_killpriv_v2 &&
49 return fuse_simple_request(fm, &args);
58 struct fuse_file *fuse_file_alloc(struct fuse_mount *fm)
66 ff->fm = fm;
80 ff->kh = atomic64_inc_return(&fm->fc->khctr);
98 static void fuse_release_end(struct fuse_mount *fm, struct fuse_args *args,
112 if (isdir ? ff->fm->fc->no_opendir : ff->fm->fc->no_open) {
114 fuse_release_end(ff->fm, args, 0);
116 fuse_simple_request(ff->fm, args);
117 fuse_release_end(ff->fm, args, 0);
120 if (fuse_simple_background(ff->fm, args,
122 fuse_release_end(ff->fm, args, -ENOTCONN);
128 struct fuse_file *fuse_file_open(struct fuse_mount *fm, u64 nodeid,
131 struct fuse_conn *fc = fm->fc;
135 ff = fuse_file_alloc(fm);
146 err = fuse_send_open(fm, nodeid, open_flags, opcode, &outarg);
170 int fuse_do_open(struct fuse_mount *fm, u64 nodeid, struct file *file,
173 struct fuse_file *ff = fuse_file_open(fm, nodeid, file->f_flags, isdir);
223 struct fuse_mount *fm = get_fuse_mount(inode);
224 struct fuse_conn *fc = fm->fc;
252 err = fuse_do_open(fm, get_node_id(inode), file, isdir);
278 struct fuse_conn *fc = ff->fm->fc;
316 ra->inarg.lock_owner = fuse_lock_owner_id(ff->fm->fc, id);
330 fuse_file_put(ff, ff->fm->fc->destroy, isdir);
484 struct fuse_mount *fm = get_fuse_mount(inode);
493 if (ff->open_flags & FOPEN_NOFLUSH && !fm->fc->writeback_cache)
509 if (fm->fc->no_flush)
514 inarg.lock_owner = fuse_lock_owner_id(fm->fc, id);
522 err = fuse_simple_request(fm, &args);
524 fm->fc->no_flush = 1;
533 if (!err && fm->fc->writeback_cache)
542 struct fuse_mount *fm = get_fuse_mount(inode);
555 return fuse_simple_request(fm, &args);
730 static void fuse_aio_complete_req(struct fuse_mount *fm, struct fuse_args *args,
759 static ssize_t fuse_async_req_send(struct fuse_mount *fm,
773 err = fuse_simple_background(fm, &ia->ap.args, GFP_KERNEL);
775 fuse_aio_complete_req(fm, &ia->ap.args, err);
785 struct fuse_mount *fm = ff->fm;
790 ia->read.in.lock_owner = fuse_lock_owner_id(fm->fc, owner);
794 return fuse_async_req_send(fm, ia, count);
796 return fuse_simple_request(fm, &ia->ap.args);
833 struct fuse_mount *fm = get_fuse_mount(inode);
853 attr_ver = fuse_get_attr_version(fm->fc);
860 res = fuse_simple_request(fm, &ia.ap.args);
891 static void fuse_readpages_end(struct fuse_mount *fm, struct fuse_args *args,
935 struct fuse_mount *fm = ff->fm;
954 ia->read.attr_ver = fuse_get_attr_version(fm->fc);
955 if (fm->fc->async_read) {
958 err = fuse_simple_background(fm, &ap->args, GFP_KERNEL);
962 res = fuse_simple_request(fm, &ap->args);
965 fuse_readpages_end(fm, &ap->args, err);
1044 if (ff->fm->fc->minor < 9)
1073 struct fuse_mount *fm = ff->fm;
1081 inarg->lock_owner = fuse_lock_owner_id(fm->fc, owner);
1085 return fuse_async_req_send(fm, ia, count);
1087 err = fuse_simple_request(fm, &ia->ap.args);
1120 struct fuse_mount *fm = ff->fm;
1130 if (fm->fc->handle_killpriv_v2 && !capable(CAP_FSETID))
1133 err = fuse_simple_request(fm, &ap->args);
1434 struct fuse_conn *fc = ff->fm->fc;
1675 static void fuse_writepage_finish(struct fuse_mount *fm,
1693 static void fuse_send_writepage(struct fuse_mount *fm,
1719 err = fuse_simple_background(fm, args, GFP_ATOMIC);
1722 err = fuse_simple_background(fm, args, GFP_NOFS | __GFP_NOFAIL);
1735 fuse_writepage_finish(fm, wpa);
1759 struct fuse_mount *fm = get_fuse_mount(inode);
1768 fuse_send_writepage(fm, wpa, crop);
1809 static void fuse_writepage_end(struct fuse_mount *fm, struct fuse_args *args,
1830 struct fuse_mount *fm = get_fuse_mount(inode);
1862 fuse_send_writepage(fm, next, inarg->offset + inarg->size);
1865 fuse_writepage_finish(fm, wpa);
2463 struct fuse_conn *fc = ff->fm->fc;
2553 struct fuse_mount *fm = get_fuse_mount(inode);
2563 err = fuse_simple_request(fm, &args);
2565 err = convert_fuse_file_lock(fm->fc, &outarg.lk, fl);
2573 struct fuse_mount *fm = get_fuse_mount(inode);
2578 pid_t pid_nr = pid_nr_ns(pid, fm->fc->pid_ns);
2591 err = fuse_simple_request(fm, &args);
2645 struct fuse_mount *fm = get_fuse_mount(inode);
2651 if (!inode->i_sb->s_bdev || fm->fc->no_bmap)
2665 err = fuse_simple_request(fm, &args);
2667 fm->fc->no_bmap = 1;
2675 struct fuse_mount *fm = get_fuse_mount(inode);
2686 if (fm->fc->no_lseek)
2697 err = fuse_simple_request(fm, &args);
2700 fm->fc->no_lseek = 1;
2801 struct fuse_mount *fm = ff->fm;
2807 if (fm->fc->no_poll)
2819 fuse_register_polled_file(fm->fc, ff);
2830 err = fuse_simple_request(fm, &args);
2835 fm->fc->no_poll = 1;
2921 io->async = ff->fm->fc->async_dio;
2927 iov_iter_truncate(iter, fuse_round_up(ff->fm->fc, i_size - offset));
2997 struct fuse_mount *fm = ff->fm;
3014 if (fm->fc->no_fallocate)
3052 err = fuse_simple_request(fm, &args);
3054 fm->fc->no_fallocate = 1;
3094 struct fuse_mount *fm = ff_in->fm;
3095 struct fuse_conn *fc = fm->fc;
3164 err = fuse_simple_request(fm, &args);