Lines Matching defs:inode

55 	struct inode *inode;
103 iput(ra->inode);
184 struct inode *inode = file_inode(file);
185 struct fuse_inode *fi = get_fuse_inode(inode);
197 void fuse_finish_open(struct inode *inode, struct file *file)
200 struct fuse_conn *fc = get_fuse_conn(inode);
203 stream_open(inode, file);
205 nonseekable_open(inode, file);
208 struct fuse_inode *fi = get_fuse_inode(inode);
212 i_size_write(inode, 0);
215 fuse_invalidate_attr_mask(inode, FUSE_STATX_MODSIZE);
221 int fuse_open_common(struct inode *inode, struct file *file, bool isdir)
223 struct fuse_mount *fm = get_fuse_mount(inode);
230 fc->atomic_o_trunc && FUSE_IS_DAX(inode);
232 if (fuse_is_bad(inode))
235 err = generic_file_open(inode, file);
240 inode_lock(inode);
243 filemap_invalidate_lock(inode->i_mapping);
244 err = fuse_dax_break_layouts(inode, 0, 0);
250 fuse_set_nowrite(inode);
252 err = fuse_do_open(fm, get_node_id(inode), file, isdir);
254 fuse_finish_open(inode, file);
257 fuse_release_nowrite(inode);
262 truncate_pagecache(inode, 0);
264 invalidate_inode_pages2(inode->i_mapping);
267 filemap_invalidate_unlock(inode->i_mapping);
270 inode_unlock(inode);
305 void fuse_file_release(struct inode *inode, struct fuse_file *ff,
308 struct fuse_inode *fi = get_fuse_inode(inode);
318 /* Hold inode until release is finished */
319 ra->inode = igrab(inode);
339 static int fuse_open(struct inode *inode, struct file *file)
341 return fuse_open_common(inode, file, false);
344 static int fuse_release(struct inode *inode, struct file *file)
346 struct fuse_conn *fc = get_fuse_conn(inode);
353 write_inode_now(inode, 1);
401 struct inode *inode;
417 WARN_ON(get_fuse_inode(wpa->inode) != fi);
433 * for the inode, which can be pretty inefficient.
435 static bool fuse_range_is_writeback(struct inode *inode, pgoff_t idx_from,
438 struct fuse_inode *fi = get_fuse_inode(inode);
448 static inline bool fuse_page_is_writeback(struct inode *inode, pgoff_t index)
450 return fuse_range_is_writeback(inode, index, index);
459 static void fuse_wait_on_page_writeback(struct inode *inode, pgoff_t index)
461 struct fuse_inode *fi = get_fuse_inode(inode);
463 wait_event(fi->page_waitq, !fuse_page_is_writeback(inode, index));
467 * Wait for all pending writepages on the inode to finish.
475 static void fuse_sync_writes(struct inode *inode)
477 fuse_set_nowrite(inode);
478 fuse_release_nowrite(inode);
483 struct inode *inode = file_inode(file);
484 struct fuse_mount *fm = get_fuse_mount(inode);
490 if (fuse_is_bad(inode))
496 err = write_inode_now(inode, 1);
500 inode_lock(inode);
501 fuse_sync_writes(inode);
502 inode_unlock(inode);
516 args.nodeid = get_node_id(inode);
534 fuse_invalidate_attr_mask(inode, STATX_BLOCKS);
541 struct inode *inode = file->f_mapping->host;
542 struct fuse_mount *fm = get_fuse_mount(inode);
551 args.nodeid = get_node_id(inode);
561 struct inode *inode = file->f_mapping->host;
562 struct fuse_conn *fc = get_fuse_conn(inode);
565 if (fuse_is_bad(inode))
568 inode_lock(inode);
571 * Start writeback against all dirty pages of the inode, then
579 fuse_sync_writes(inode);
590 err = sync_inode_metadata(inode, 1);
603 inode_unlock(inode);
691 struct inode *inode = file_inode(io->iocb->ki_filp);
692 struct fuse_conn *fc = get_fuse_conn(inode);
693 struct fuse_inode *fi = get_fuse_inode(inode);
799 static void fuse_read_update_size(struct inode *inode, loff_t size,
802 struct fuse_conn *fc = get_fuse_conn(inode);
803 struct fuse_inode *fi = get_fuse_inode(inode);
806 if (attr_ver >= fi->attr_version && size < inode->i_size &&
809 i_size_write(inode, size);
814 static void fuse_short_read(struct inode *inode, u64 attr_ver, size_t num_read,
817 struct fuse_conn *fc = get_fuse_conn(inode);
826 fuse_read_update_size(inode, pos, attr_ver);
832 struct inode *inode = page->mapping->host;
833 struct fuse_mount *fm = get_fuse_mount(inode);
851 fuse_wait_on_page_writeback(inode, page->index);
867 fuse_short_read(inode, attr_ver, res, &ia.ap);
877 struct inode *inode = page->mapping->host;
881 if (fuse_is_bad(inode))
885 fuse_invalidate_atime(inode);
905 struct inode *inode = mapping->host;
911 fuse_short_read(inode, ia->read.attr_ver, num_read, ap);
913 fuse_invalidate_atime(inode);
970 struct inode *inode = rac->mapping->host;
971 struct fuse_conn *fc = get_fuse_conn(inode);
974 if (fuse_is_bad(inode))
1003 fuse_wait_on_page_writeback(inode,
1014 struct inode *inode = iocb->ki_filp->f_mapping->host;
1015 struct fuse_conn *fc = get_fuse_conn(inode);
1023 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) {
1025 err = fuse_update_attributes(inode, iocb->ki_filp, STATX_SIZE);
1094 bool fuse_write_update_attr(struct inode *inode, loff_t pos, ssize_t written)
1096 struct fuse_conn *fc = get_fuse_conn(inode);
1097 struct fuse_inode *fi = get_fuse_inode(inode);
1102 if (written > 0 && pos > inode->i_size) {
1103 i_size_write(inode, pos);
1108 fuse_invalidate_attr_mask(inode, FUSE_STATX_MODSIZE);
1114 struct kiocb *iocb, struct inode *inode,
1126 fuse_wait_on_page_writeback(inode, ap->pages[i]->index);
1249 struct inode *inode = mapping->host;
1250 struct fuse_conn *fc = get_fuse_conn(inode);
1251 struct fuse_inode *fi = get_fuse_inode(inode);
1256 if (inode->i_size < pos + iov_iter_count(ii))
1276 err = fuse_send_write_pages(&ia, iocb, inode,
1292 fuse_write_update_attr(inode, pos, res);
1306 struct inode *inode = mapping->host;
1308 struct fuse_conn *fc = get_fuse_conn(inode);
1327 inode_lock(inode);
1351 inode_unlock(inode);
1432 struct inode *inode = mapping->host;
1458 if (!cuse && fuse_range_is_writeback(inode, idx_from, idx_to)) {
1460 inode_lock(inode);
1461 fuse_sync_writes(inode);
1463 inode_unlock(inode);
1534 struct inode *inode = file_inode(io->iocb->ki_filp);
1538 fuse_invalidate_atime(inode);
1563 struct inode *inode = file_inode(iocb->ki_filp);
1565 return iocb->ki_pos + iov_iter_count(iter) > i_size_read(inode);
1570 struct inode *inode = file_inode(iocb->ki_filp);
1577 get_fuse_conn(inode)->direct_io_allow_mmap ||
1589 inode_lock(inode);
1591 inode_lock_shared(inode);
1597 inode_unlock_shared(inode);
1598 inode_lock(inode);
1610 fuse_write_update_attr(inode, iocb->ki_pos, res);
1614 inode_unlock(inode);
1616 inode_unlock_shared(inode);
1625 struct inode *inode = file_inode(file);
1627 if (fuse_is_bad(inode))
1630 if (FUSE_IS_DAX(inode))
1643 struct inode *inode = file_inode(file);
1645 if (fuse_is_bad(inode))
1648 if (FUSE_IS_DAX(inode))
1679 struct inode *inode = wpa->inode;
1680 struct fuse_inode *fi = get_fuse_inode(inode);
1681 struct backing_dev_info *bdi = inode_to_bdi(inode);
1699 struct fuse_inode *fi = get_fuse_inode(wpa->inode);
1755 void fuse_flush_writepages(struct inode *inode)
1759 struct fuse_mount *fm = get_fuse_mount(inode);
1760 struct fuse_inode *fi = get_fuse_inode(inode);
1761 loff_t crop = i_size_read(inode);
1788 WARN_ON(curr->inode != wpa->inode);
1814 struct inode *inode = wpa->inode;
1815 struct fuse_inode *fi = get_fuse_inode(inode);
1816 struct fuse_conn *fc = get_fuse_conn(inode);
1818 mapping_set_error(inode->i_mapping, error);
1826 fuse_invalidate_attr_mask(inode, FUSE_STATX_MODIFY);
1830 struct fuse_mount *fm = get_fuse_mount(inode);
1891 int fuse_write_inode(struct inode *inode, struct writeback_control *wbc)
1893 struct fuse_inode *fi = get_fuse_inode(inode);
1901 * Writing back the inode from reclaim can deadlock if the request
1909 err = fuse_flush_times(inode, ff);
1952 struct inode *inode = mapping->host;
1953 struct fuse_conn *fc = get_fuse_conn(inode);
1954 struct fuse_inode *fi = get_fuse_inode(inode);
1988 wpa->inode = inode;
1990 inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK);
1996 fuse_flush_writepages(inode);
2044 struct inode *inode;
2052 struct fuse_conn *fc = get_fuse_conn(data->inode);
2078 struct inode *inode = data->inode;
2079 struct fuse_inode *fi = get_fuse_inode(inode);
2086 fuse_flush_writepages(inode);
2103 struct fuse_inode *fi = get_fuse_inode(new_wpa->inode);
2121 WARN_ON(tmp->inode != new_wpa->inode);
2138 struct backing_dev_info *bdi = inode_to_bdi(new_wpa->inode);
2161 if (fuse_page_is_writeback(data->inode, page->index))
2189 struct inode *inode = data->inode;
2190 struct fuse_inode *fi = get_fuse_inode(inode);
2191 struct fuse_conn *fc = get_fuse_conn(inode);
2243 wpa->inode = inode;
2253 inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK);
2279 struct inode *inode = mapping->host;
2280 struct fuse_conn *fc = get_fuse_conn(inode);
2285 if (fuse_is_bad(inode))
2292 data.inode = inode;
2368 struct inode *inode = page->mapping->host;
2383 if (pos > inode->i_size)
2384 i_size_write(inode, pos);
2399 struct inode *inode = folio->mapping->host;
2402 fuse_wait_on_page_writeback(inode, folio->index);
2405 fuse_wait_on_page_writeback(inode, folio->index);
2440 struct inode *inode = file_inode(vmf->vma->vm_file);
2444 if (page->mapping != inode->i_mapping) {
2449 fuse_wait_on_page_writeback(inode, page->index);
2530 struct inode *inode = file_inode(file);
2531 struct fuse_conn *fc = get_fuse_conn(inode);
2544 args->nodeid = get_node_id(inode);
2552 struct inode *inode = file_inode(file);
2553 struct fuse_mount *fm = get_fuse_mount(inode);
2572 struct inode *inode = file_inode(file);
2573 struct fuse_mount *fm = get_fuse_mount(inode);
2602 struct inode *inode = file_inode(file);
2603 struct fuse_conn *fc = get_fuse_conn(inode);
2625 struct inode *inode = file_inode(file);
2626 struct fuse_conn *fc = get_fuse_conn(inode);
2644 struct inode *inode = mapping->host;
2645 struct fuse_mount *fm = get_fuse_mount(inode);
2651 if (!inode->i_sb->s_bdev || fm->fc->no_bmap)
2656 inarg.blocksize = inode->i_sb->s_blocksize;
2658 args.nodeid = get_node_id(inode);
2674 struct inode *inode = file->f_mapping->host;
2675 struct fuse_mount *fm = get_fuse_mount(inode);
2706 return vfs_setpos(file, outarg.offset, inode->i_sb->s_maxbytes);
2709 err = fuse_update_attributes(inode, file, STATX_SIZE);
2719 struct inode *inode = file_inode(file);
2728 inode_lock(inode);
2729 retval = fuse_update_attributes(inode, file, STATX_SIZE);
2732 inode_unlock(inode);
2736 inode_lock(inode);
2738 inode_unlock(inode);
2868 struct inode *inode = file->f_mapping->host;
2872 attr.ia_size = i_size_read(inode);
2893 struct inode *inode;
2900 inode = file->f_mapping->host;
2901 i_size = i_size_read(inode);
2950 fuse_invalidate_attr_mask(inode, FUSE_STATX_MODSIZE);
2972 fuse_write_update_attr(inode, pos, ret);
2981 static int fuse_writeback_range(struct inode *inode, loff_t start, loff_t end)
2983 int err = filemap_write_and_wait_range(inode->i_mapping, start, LLONG_MAX);
2986 fuse_sync_writes(inode);
2995 struct inode *inode = file_inode(file);
2996 struct fuse_inode *fi = get_fuse_inode(inode);
3006 bool block_faults = FUSE_IS_DAX(inode) &&
3017 inode_lock(inode);
3019 filemap_invalidate_lock(inode->i_mapping);
3020 err = fuse_dax_break_layouts(inode, 0, 0);
3028 err = fuse_writeback_range(inode, offset, endbyte);
3034 offset + length > i_size_read(inode)) {
3035 err = inode_newsize_ok(inode, offset + length);
3062 if (fuse_write_update_attr(inode, offset + length, length))
3067 truncate_pagecache_range(inode, offset, offset + length - 1);
3069 fuse_invalidate_attr_mask(inode, FUSE_STATX_MODSIZE);
3076 filemap_invalidate_unlock(inode->i_mapping);
3078 inode_unlock(inode);
3080 fuse_flush_time_update(inode);
3091 struct inode *inode_in = file_inode(file_in);
3092 struct inode *inode_out = file_inode(file_out);
3241 void fuse_init_file_inode(struct inode *inode, unsigned int flags)
3243 struct fuse_inode *fi = get_fuse_inode(inode);
3245 inode->i_fop = &fuse_file_operations;
3246 inode->i_data.a_ops = &fuse_file_aops;
3255 fuse_dax_inode_init(inode, flags);