Lines Matching refs:fm
35 static int fuse_send_open(struct fuse_mount *fm, u64 nodeid, struct file *file,
43 if (!fm->fc->atomic_o_trunc)
54 return fuse_simple_request(fm, &args);
63 struct fuse_file *fuse_file_alloc(struct fuse_mount *fm)
71 ff->fm = fm;
85 ff->kh = atomic64_inc_return(&fm->fc->khctr);
103 static void fuse_release_end(struct fuse_mount *fm, struct fuse_args *args,
117 if (isdir ? ff->fm->fc->no_opendir : ff->fm->fc->no_open) {
119 fuse_release_end(ff->fm, args, 0);
121 fuse_simple_request(ff->fm, args);
122 fuse_release_end(ff->fm, args, 0);
125 if (fuse_simple_background(ff->fm, args,
127 fuse_release_end(ff->fm, args, -ENOTCONN);
133 int fuse_do_open(struct fuse_mount *fm, u64 nodeid, struct file *file,
136 struct fuse_conn *fc = fm->fc;
140 ff = fuse_file_alloc(fm);
151 err = fuse_send_open(fm, nodeid, file, opcode, &outarg);
219 struct fuse_mount *fm = get_fuse_mount(inode);
220 struct fuse_conn *fc = fm->fc;
248 err = fuse_do_open(fm, get_node_id(inode), file, isdir);
275 struct fuse_conn *fc = ff->fm->fc;
313 ra->inarg.lock_owner = fuse_lock_owner_id(ff->fm->fc,
328 fuse_file_put(ff, ff->fm->fc->destroy, isdir);
471 struct fuse_mount *fm = get_fuse_mount(inode);
493 if (fm->fc->no_flush)
498 inarg.lock_owner = fuse_lock_owner_id(fm->fc, id);
506 err = fuse_simple_request(fm, &args);
508 fm->fc->no_flush = 1;
517 if (!err && fm->fc->writeback_cache)
526 struct fuse_mount *fm = get_fuse_mount(inode);
539 return fuse_simple_request(fm, &args);
714 static void fuse_aio_complete_req(struct fuse_mount *fm, struct fuse_args *args,
743 static ssize_t fuse_async_req_send(struct fuse_mount *fm,
757 err = fuse_simple_background(fm, &ia->ap.args, GFP_KERNEL);
759 fuse_aio_complete_req(fm, &ia->ap.args, err);
769 struct fuse_mount *fm = ff->fm;
774 ia->read.in.lock_owner = fuse_lock_owner_id(fm->fc, owner);
778 return fuse_async_req_send(fm, ia, count);
780 return fuse_simple_request(fm, &ia->ap.args);
826 struct fuse_mount *fm = get_fuse_mount(inode);
846 attr_ver = fuse_get_attr_version(fm->fc);
853 res = fuse_simple_request(fm, &ia.ap.args);
883 static void fuse_readpages_end(struct fuse_mount *fm, struct fuse_args *args,
927 struct fuse_mount *fm = ff->fm;
946 ia->read.attr_ver = fuse_get_attr_version(fm->fc);
947 if (fm->fc->async_read) {
950 err = fuse_simple_background(fm, &ap->args, GFP_KERNEL);
954 res = fuse_simple_request(fm, &ap->args);
957 fuse_readpages_end(fm, &ap->args, err);
1028 if (ff->fm->fc->minor < 9)
1057 struct fuse_mount *fm = ff->fm;
1065 inarg->lock_owner = fuse_lock_owner_id(fm->fc, owner);
1069 return fuse_async_req_send(fm, ia, count);
1071 err = fuse_simple_request(fm, &ia->ap.args);
1102 struct fuse_mount *fm = ff->fm;
1113 err = fuse_simple_request(fm, &ap->args);
1445 struct fuse_conn *fc = ff->fm->fc;
1632 static void fuse_writepage_finish(struct fuse_mount *fm,
1650 static void fuse_send_writepage(struct fuse_mount *fm,
1676 err = fuse_simple_background(fm, args, GFP_ATOMIC);
1679 err = fuse_simple_background(fm, args, GFP_NOFS | __GFP_NOFAIL);
1692 fuse_writepage_finish(fm, wpa);
1716 struct fuse_mount *fm = get_fuse_mount(inode);
1725 fuse_send_writepage(fm, wpa, crop);
1766 static void fuse_writepage_end(struct fuse_mount *fm, struct fuse_args *args,
1787 struct fuse_mount *fm = get_fuse_mount(inode);
1819 fuse_send_writepage(fm, next, inarg->offset + inarg->size);
1822 fuse_writepage_finish(fm, wpa);
2473 struct fuse_mount *fm = get_fuse_mount(inode);
2483 err = fuse_simple_request(fm, &args);
2485 err = convert_fuse_file_lock(fm->fc, &outarg.lk, fl);
2493 struct fuse_mount *fm = get_fuse_mount(inode);
2498 pid_t pid_nr = pid_nr_ns(pid, fm->fc->pid_ns);
2511 err = fuse_simple_request(fm, &args);
2565 struct fuse_mount *fm = get_fuse_mount(inode);
2571 if (!inode->i_sb->s_bdev || fm->fc->no_bmap)
2585 err = fuse_simple_request(fm, &args);
2587 fm->fc->no_bmap = 1;
2595 struct fuse_mount *fm = get_fuse_mount(inode);
2606 if (fm->fc->no_lseek)
2617 err = fuse_simple_request(fm, &args);
2620 fm->fc->no_lseek = 1;
2806 struct fuse_mount *fm = ff->fm;
2839 ap.pages = fuse_pages_alloc(fm->fc->max_pages, GFP_KERNEL, &ap.descs);
2844 fuse_page_descs_length_init(ap.descs, 0, fm->fc->max_pages);
2889 if (max_pages > fm->fc->max_pages)
2926 transferred = fuse_simple_request(fm, &ap.args);
2954 err = fuse_copy_ioctl_iovec(fm->fc, iov_page, vaddr,
2964 err = fuse_verify_ioctl_iov(fm->fc, in_iov, in_iovs);
2968 err = fuse_verify_ioctl_iov(fm->fc, out_iov, out_iovs);
3078 struct fuse_mount *fm = ff->fm;
3084 if (fm->fc->no_poll)
3096 fuse_register_polled_file(fm->fc, ff);
3107 err = fuse_simple_request(fm, &args);
3112 fm->fc->no_poll = 1;
3198 io->async = ff->fm->fc->async_dio;
3204 iov_iter_truncate(iter, fuse_round_up(ff->fm->fc, i_size - offset));
3274 struct fuse_mount *fm = ff->fm;
3290 if (fm->fc->no_fallocate)
3328 err = fuse_simple_request(fm, &args);
3330 fm->fc->no_fallocate = 1;
3340 if (changed && fm->fc->writeback_cache)
3372 struct fuse_mount *fm = ff_in->fm;
3373 struct fuse_conn *fc = fm->fc;
3442 err = fuse_simple_request(fm, &args);