Lines Matching refs:fm

26 static int fuse_send_open(struct fuse_mount *fm, u64 nodeid,  in fuse_send_open()  argument
35 if (!fm->fc->atomic_o_trunc) in fuse_send_open()
38 if (fm->fc->handle_killpriv_v2 && in fuse_send_open()
52 return fuse_simple_request(fm, &args); in fuse_send_open()
55 struct fuse_file *fuse_file_alloc(struct fuse_mount *fm, bool release) in fuse_file_alloc() argument
63 ff->fm = fm; in fuse_file_alloc()
77 ff->kh = atomic64_inc_return(&fm->fc->khctr); in fuse_file_alloc()
94 static void fuse_release_end(struct fuse_mount *fm, struct fuse_args *args, in fuse_release_end() argument
114 } else if (args->opcode == FUSE_RELEASE && ff->fm->fc->no_open) { in fuse_file_put()
115 fuse_release_end(ff->fm, args, 0); in fuse_file_put()
117 fuse_simple_request(ff->fm, args); in fuse_file_put()
118 fuse_release_end(ff->fm, args, 0); in fuse_file_put()
121 if (fuse_simple_background(ff->fm, args, in fuse_file_put()
123 fuse_release_end(ff->fm, args, -ENOTCONN); in fuse_file_put()
129 struct fuse_file *fuse_file_open(struct fuse_mount *fm, u64 nodeid, in fuse_file_open() argument
132 struct fuse_conn *fc = fm->fc; in fuse_file_open()
146 ff = fuse_file_alloc(fm, release); in fuse_file_open()
158 err = fuse_send_open(fm, nodeid, open_flags, opcode, outargp); in fuse_file_open()
185 int fuse_do_open(struct fuse_mount *fm, u64 nodeid, struct file *file, in fuse_do_open() argument
188 struct fuse_file *ff = fuse_file_open(fm, nodeid, file->f_flags, isdir); in fuse_do_open()
248 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_open() local
250 struct fuse_conn *fc = fm->fc; in fuse_open()
277 err = fuse_do_open(fm, get_node_id(inode), file, false); in fuse_open()
307 struct fuse_conn *fc = ff->fm->fc; in fuse_prepare_release()
360 ra->inarg.lock_owner = fuse_lock_owner_id(ff->fm->fc, id); in fuse_file_release()
460 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_flush() local
469 if (ff->open_flags & FOPEN_NOFLUSH && !fm->fc->writeback_cache) in fuse_flush()
481 if (fm->fc->no_flush) in fuse_flush()
486 inarg.lock_owner = fuse_lock_owner_id(fm->fc, id); in fuse_flush()
494 err = fuse_simple_request(fm, &args); in fuse_flush()
496 fm->fc->no_flush = 1; in fuse_flush()
505 if (!err && fm->fc->writeback_cache) in fuse_flush()
514 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_fsync_common() local
527 return fuse_simple_request(fm, &args); in fuse_fsync_common()
706 static void fuse_aio_complete_req(struct fuse_mount *fm, struct fuse_args *args, in fuse_aio_complete_req() argument
739 static ssize_t fuse_async_req_send(struct fuse_mount *fm, in fuse_async_req_send() argument
753 err = fuse_simple_background(fm, &ia->ap.args, GFP_KERNEL); in fuse_async_req_send()
755 fuse_aio_complete_req(fm, &ia->ap.args, err); in fuse_async_req_send()
765 struct fuse_mount *fm = ff->fm; in fuse_send_read() local
770 ia->read.in.lock_owner = fuse_lock_owner_id(fm->fc, owner); in fuse_send_read()
774 return fuse_async_req_send(fm, ia, count); in fuse_send_read()
776 return fuse_simple_request(fm, &ia->ap.args); in fuse_send_read()
814 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_do_readfolio() local
830 attr_ver = fuse_get_attr_version(fm->fc); in fuse_do_readfolio()
837 res = fuse_simple_request(fm, &ia.ap.args); in fuse_do_readfolio()
997 static void fuse_readpages_end(struct fuse_mount *fm, struct fuse_args *args, in fuse_readpages_end() argument
1035 struct fuse_mount *fm = ff->fm; in fuse_send_readpages() local
1053 ia->read.attr_ver = fuse_get_attr_version(fm->fc); in fuse_send_readpages()
1057 err = fuse_simple_background(fm, &ap->args, GFP_KERNEL); in fuse_send_readpages()
1061 res = fuse_simple_request(fm, &ap->args); in fuse_send_readpages()
1064 fuse_readpages_end(fm, &ap->args, err); in fuse_send_readpages()
1119 if (ff->fm->fc->minor < 9) in fuse_write_args_fill()
1148 struct fuse_mount *fm = ff->fm; in fuse_send_write() local
1156 inarg->lock_owner = fuse_lock_owner_id(fm->fc, owner); in fuse_send_write()
1160 return fuse_async_req_send(fm, ia, count); in fuse_send_write()
1162 err = fuse_simple_request(fm, &ia->ap.args); in fuse_send_write()
1195 struct fuse_mount *fm = ff->fm; in fuse_send_write_pages() local
1205 if (fm->fc->handle_killpriv_v2 && !capable(CAP_FSETID)) in fuse_send_write_pages()
1208 err = fuse_simple_request(fm, &ap->args); in fuse_send_write_pages()
1650 struct fuse_conn *fc = ff->fm->fc; in fuse_direct_io()
1910 static void fuse_send_writepage(struct fuse_mount *fm, in fuse_send_writepage() argument
1939 err = fuse_simple_background(fm, args, GFP_ATOMIC); in fuse_send_writepage()
1942 err = fuse_simple_background(fm, args, GFP_NOFS | __GFP_NOFAIL); in fuse_send_writepage()
1970 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_flush_writepages() local
1979 fuse_send_writepage(fm, wpa, crop); in fuse_flush_writepages()
1983 static void fuse_writepage_end(struct fuse_mount *fm, struct fuse_args *args, in fuse_writepage_end() argument
2371 struct fuse_conn *fc = ff->fm->fc; in fuse_file_mmap()
2488 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_getlk() local
2498 err = fuse_simple_request(fm, &args); in fuse_getlk()
2500 err = convert_fuse_file_lock(fm->fc, &outarg.lk, fl); in fuse_getlk()
2508 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_setlk() local
2513 pid_t pid_nr = pid_nr_ns(pid, fm->fc->pid_ns); in fuse_setlk()
2522 err = fuse_simple_request(fm, &args); in fuse_setlk()
2576 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_bmap() local
2582 if (!inode->i_sb->s_bdev || fm->fc->no_bmap) in fuse_bmap()
2596 err = fuse_simple_request(fm, &args); in fuse_bmap()
2598 fm->fc->no_bmap = 1; in fuse_bmap()
2606 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_lseek() local
2617 if (fm->fc->no_lseek) in fuse_lseek()
2628 err = fuse_simple_request(fm, &args); in fuse_lseek()
2631 fm->fc->no_lseek = 1; in fuse_lseek()
2732 struct fuse_mount *fm = ff->fm; in fuse_file_poll() local
2738 if (fm->fc->no_poll) in fuse_file_poll()
2750 fuse_register_polled_file(fm->fc, ff); in fuse_file_poll()
2761 err = fuse_simple_request(fm, &args); in fuse_file_poll()
2766 fm->fc->no_poll = 1; in fuse_file_poll()
2852 io->async = ff->fm->fc->async_dio; in fuse_direct_IO()
2858 iov_iter_truncate(iter, fuse_round_up(ff->fm->fc, i_size - offset)); in fuse_direct_IO()
2928 struct fuse_mount *fm = ff->fm; in fuse_file_fallocate() local
2945 if (fm->fc->no_fallocate) in fuse_file_fallocate()
2983 err = fuse_simple_request(fm, &args); in fuse_file_fallocate()
2985 fm->fc->no_fallocate = 1; in fuse_file_fallocate()
3025 struct fuse_mount *fm = ff_in->fm; in __fuse_copy_file_range() local
3026 struct fuse_conn *fc = fm->fc; in __fuse_copy_file_range()
3105 err = fuse_simple_request(fm, &args); in __fuse_copy_file_range()