Lines Matching refs:fm

35 static int fuse_send_open(struct fuse_mount *fm, u64 nodeid, struct file *file,  in fuse_send_open()  argument
43 if (!fm->fc->atomic_o_trunc) in fuse_send_open()
54 return fuse_simple_request(fm, &args); in fuse_send_open()
63 struct fuse_file *fuse_file_alloc(struct fuse_mount *fm) in fuse_file_alloc() argument
71 ff->fm = fm; in fuse_file_alloc()
85 ff->kh = atomic64_inc_return(&fm->fc->khctr); in fuse_file_alloc()
103 static void fuse_release_end(struct fuse_mount *fm, struct fuse_args *args, in fuse_release_end() argument
117 if (isdir ? ff->fm->fc->no_opendir : ff->fm->fc->no_open) { in fuse_file_put()
119 fuse_release_end(ff->fm, args, 0); in fuse_file_put()
121 fuse_simple_request(ff->fm, args); in fuse_file_put()
122 fuse_release_end(ff->fm, args, 0); in fuse_file_put()
125 if (fuse_simple_background(ff->fm, args, in fuse_file_put()
127 fuse_release_end(ff->fm, args, -ENOTCONN); in fuse_file_put()
133 int fuse_do_open(struct fuse_mount *fm, u64 nodeid, struct file *file, in fuse_do_open() argument
136 struct fuse_conn *fc = fm->fc; in fuse_do_open()
140 ff = fuse_file_alloc(fm); in fuse_do_open()
151 err = fuse_send_open(fm, nodeid, file, opcode, &outarg); in fuse_do_open()
223 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_open_common() local
224 struct fuse_conn *fc = fm->fc; in fuse_open_common()
251 err = fuse_do_open(fm, get_node_id(inode), file, isdir); in fuse_open_common()
270 struct fuse_conn *fc = ff->fm->fc; in fuse_prepare_release()
310 ra->inarg.lock_owner = fuse_lock_owner_id(ff->fm->fc, in fuse_release_common()
325 fuse_file_put(ff, ff->fm->fc->destroy, isdir); in fuse_release_common()
468 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_flush() local
490 if (fm->fc->no_flush) in fuse_flush()
495 inarg.lock_owner = fuse_lock_owner_id(fm->fc, id); in fuse_flush()
503 err = fuse_simple_request(fm, &args); in fuse_flush()
505 fm->fc->no_flush = 1; in fuse_flush()
514 if (!err && fm->fc->writeback_cache) in fuse_flush()
523 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_fsync_common() local
536 return fuse_simple_request(fm, &args); in fuse_fsync_common()
711 static void fuse_aio_complete_req(struct fuse_mount *fm, struct fuse_args *args, in fuse_aio_complete_req() argument
740 static ssize_t fuse_async_req_send(struct fuse_mount *fm, in fuse_async_req_send() argument
754 err = fuse_simple_background(fm, &ia->ap.args, GFP_KERNEL); in fuse_async_req_send()
756 fuse_aio_complete_req(fm, &ia->ap.args, err); in fuse_async_req_send()
766 struct fuse_mount *fm = ff->fm; in fuse_send_read() local
771 ia->read.in.lock_owner = fuse_lock_owner_id(fm->fc, owner); in fuse_send_read()
775 return fuse_async_req_send(fm, ia, count); in fuse_send_read()
777 return fuse_simple_request(fm, &ia->ap.args); in fuse_send_read()
823 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_do_readpage() local
843 attr_ver = fuse_get_attr_version(fm->fc); in fuse_do_readpage()
850 res = fuse_simple_request(fm, &ia.ap.args); in fuse_do_readpage()
880 static void fuse_readpages_end(struct fuse_mount *fm, struct fuse_args *args, in fuse_readpages_end() argument
924 struct fuse_mount *fm = ff->fm; in fuse_send_readpages() local
943 ia->read.attr_ver = fuse_get_attr_version(fm->fc); in fuse_send_readpages()
944 if (fm->fc->async_read) { in fuse_send_readpages()
947 err = fuse_simple_background(fm, &ap->args, GFP_KERNEL); in fuse_send_readpages()
951 res = fuse_simple_request(fm, &ap->args); in fuse_send_readpages()
954 fuse_readpages_end(fm, &ap->args, err); in fuse_send_readpages()
1025 if (ff->fm->fc->minor < 9) in fuse_write_args_fill()
1054 struct fuse_mount *fm = ff->fm; in fuse_send_write() local
1062 inarg->lock_owner = fuse_lock_owner_id(fm->fc, owner); in fuse_send_write()
1066 return fuse_async_req_send(fm, ia, count); in fuse_send_write()
1068 err = fuse_simple_request(fm, &ia->ap.args); in fuse_send_write()
1099 struct fuse_mount *fm = ff->fm; in fuse_send_write_pages() local
1110 err = fuse_simple_request(fm, &ap->args); in fuse_send_write_pages()
1442 struct fuse_conn *fc = ff->fm->fc; in fuse_direct_io()
1633 static void fuse_writepage_finish(struct fuse_mount *fm, in fuse_writepage_finish() argument
1651 static void fuse_send_writepage(struct fuse_mount *fm, in fuse_send_writepage() argument
1677 err = fuse_simple_background(fm, args, GFP_ATOMIC); in fuse_send_writepage()
1680 err = fuse_simple_background(fm, args, GFP_NOFS | __GFP_NOFAIL); in fuse_send_writepage()
1693 fuse_writepage_finish(fm, wpa); in fuse_send_writepage()
1717 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_flush_writepages() local
1726 fuse_send_writepage(fm, wpa, crop); in fuse_flush_writepages()
1767 static void fuse_writepage_end(struct fuse_mount *fm, struct fuse_args *args, in fuse_writepage_end() argument
1788 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_writepage_end() local
1820 fuse_send_writepage(fm, next, inarg->offset + inarg->size); in fuse_writepage_end()
1823 fuse_writepage_finish(fm, wpa); in fuse_writepage_end()
2477 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_getlk() local
2487 err = fuse_simple_request(fm, &args); in fuse_getlk()
2489 err = convert_fuse_file_lock(fm->fc, &outarg.lk, fl); in fuse_getlk()
2497 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_setlk() local
2502 pid_t pid_nr = pid_nr_ns(pid, fm->fc->pid_ns); in fuse_setlk()
2515 err = fuse_simple_request(fm, &args); in fuse_setlk()
2569 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_bmap() local
2575 if (!inode->i_sb->s_bdev || fm->fc->no_bmap) in fuse_bmap()
2589 err = fuse_simple_request(fm, &args); in fuse_bmap()
2591 fm->fc->no_bmap = 1; in fuse_bmap()
2599 struct fuse_mount *fm = get_fuse_mount(inode); in fuse_lseek() local
2610 if (fm->fc->no_lseek) in fuse_lseek()
2621 err = fuse_simple_request(fm, &args); in fuse_lseek()
2624 fm->fc->no_lseek = 1; in fuse_lseek()
2810 struct fuse_mount *fm = ff->fm; in fuse_do_ioctl() local
2843 ap.pages = fuse_pages_alloc(fm->fc->max_pages, GFP_KERNEL, &ap.descs); in fuse_do_ioctl()
2848 fuse_page_descs_length_init(ap.descs, 0, fm->fc->max_pages); in fuse_do_ioctl()
2893 if (max_pages > fm->fc->max_pages) in fuse_do_ioctl()
2930 transferred = fuse_simple_request(fm, &ap.args); in fuse_do_ioctl()
2958 err = fuse_copy_ioctl_iovec(fm->fc, iov_page, vaddr, in fuse_do_ioctl()
2968 err = fuse_verify_ioctl_iov(fm->fc, in_iov, in_iovs); in fuse_do_ioctl()
2972 err = fuse_verify_ioctl_iov(fm->fc, out_iov, out_iovs); in fuse_do_ioctl()
3082 struct fuse_mount *fm = ff->fm; in fuse_file_poll() local
3088 if (fm->fc->no_poll) in fuse_file_poll()
3100 fuse_register_polled_file(fm->fc, ff); in fuse_file_poll()
3111 err = fuse_simple_request(fm, &args); in fuse_file_poll()
3116 fm->fc->no_poll = 1; in fuse_file_poll()
3202 io->async = ff->fm->fc->async_dio; in fuse_direct_IO()
3208 iov_iter_truncate(iter, fuse_round_up(ff->fm->fc, i_size - offset)); in fuse_direct_IO()
3278 struct fuse_mount *fm = ff->fm; in fuse_file_fallocate() local
3294 if (fm->fc->no_fallocate) in fuse_file_fallocate()
3332 err = fuse_simple_request(fm, &args); in fuse_file_fallocate()
3334 fm->fc->no_fallocate = 1; in fuse_file_fallocate()
3344 if (changed && fm->fc->writeback_cache) in fuse_file_fallocate()
3376 struct fuse_mount *fm = ff_in->fm; in __fuse_copy_file_range() local
3377 struct fuse_conn *fc = fm->fc; in __fuse_copy_file_range()
3446 err = fuse_simple_request(fm, &args); in __fuse_copy_file_range()