Lines Matching defs:inode

60 	struct inode *inode;
108 iput(ra->inode);
179 struct inode *inode = file_inode(file);
180 struct fuse_inode *fi = get_fuse_inode(inode);
192 void fuse_finish_open(struct inode *inode, struct file *file)
195 struct fuse_conn *fc = get_fuse_conn(inode);
198 stream_open(inode, file);
200 nonseekable_open(inode, file);
203 struct fuse_inode *fi = get_fuse_inode(inode);
207 i_size_write(inode, 0);
209 fuse_invalidate_attr(inode);
217 int fuse_open_common(struct inode *inode, struct file *file, bool isdir)
219 struct fuse_mount *fm = get_fuse_mount(inode);
226 fc->atomic_o_trunc && FUSE_IS_DAX(inode);
228 if (fuse_is_bad(inode))
231 err = generic_file_open(inode, file);
236 inode_lock(inode);
239 down_write(&get_fuse_inode(inode)->i_mmap_sem);
240 err = fuse_dax_break_layouts(inode, 0, 0);
246 fuse_set_nowrite(inode);
248 err = fuse_do_open(fm, get_node_id(inode), file, isdir);
250 fuse_finish_open(inode, file);
253 fuse_release_nowrite(inode);
258 truncate_pagecache(inode, 0);
260 invalidate_inode_pages2(inode->i_mapping);
263 up_write(&get_fuse_inode(inode)->i_mmap_sem);
267 inode_unlock(inode);
316 /* Hold inode until release is finished */
317 ra->inode = igrab(file_inode(file));
331 static int fuse_open(struct inode *inode, struct file *file)
333 return fuse_open_common(inode, file, false);
336 static int fuse_release(struct inode *inode, struct file *file)
338 struct fuse_conn *fc = get_fuse_conn(inode);
342 write_inode_now(inode, 1);
389 struct inode *inode;
404 WARN_ON(get_fuse_inode(wpa->inode) != fi);
420 * for the inode, which can be pretty inefficient.
422 static bool fuse_range_is_writeback(struct inode *inode, pgoff_t idx_from,
425 struct fuse_inode *fi = get_fuse_inode(inode);
435 static inline bool fuse_page_is_writeback(struct inode *inode, pgoff_t index)
437 return fuse_range_is_writeback(inode, index, index);
446 static void fuse_wait_on_page_writeback(struct inode *inode, pgoff_t index)
448 struct fuse_inode *fi = get_fuse_inode(inode);
450 wait_event(fi->page_waitq, !fuse_page_is_writeback(inode, index));
454 * Wait for all pending writepages on the inode to finish.
462 static void fuse_sync_writes(struct inode *inode)
464 fuse_set_nowrite(inode);
465 fuse_release_nowrite(inode);
470 struct inode *inode = file_inode(file);
471 struct fuse_mount *fm = get_fuse_mount(inode);
477 if (fuse_is_bad(inode))
480 err = write_inode_now(inode, 1);
484 inode_lock(inode);
485 fuse_sync_writes(inode);
486 inode_unlock(inode);
500 args.nodeid = get_node_id(inode);
518 fuse_invalidate_attr(inode);
525 struct inode *inode = file->f_mapping->host;
526 struct fuse_mount *fm = get_fuse_mount(inode);
535 args.nodeid = get_node_id(inode);
545 struct inode *inode = file->f_mapping->host;
546 struct fuse_conn *fc = get_fuse_conn(inode);
549 if (fuse_is_bad(inode))
552 inode_lock(inode);
555 * Start writeback against all dirty pages of the inode, then
563 fuse_sync_writes(inode);
574 err = sync_inode_metadata(inode, 1);
587 inode_unlock(inode);
675 struct inode *inode = file_inode(io->iocb->ki_filp);
676 struct fuse_conn *fc = get_fuse_conn(inode);
677 struct fuse_inode *fi = get_fuse_inode(inode);
783 static void fuse_read_update_size(struct inode *inode, loff_t size,
786 struct fuse_conn *fc = get_fuse_conn(inode);
787 struct fuse_inode *fi = get_fuse_inode(inode);
790 if (attr_ver >= fi->attr_version && size < inode->i_size &&
793 i_size_write(inode, size);
798 static void fuse_short_read(struct inode *inode, u64 attr_ver, size_t num_read,
801 struct fuse_conn *fc = get_fuse_conn(inode);
819 fuse_read_update_size(inode, pos, attr_ver);
825 struct inode *inode = page->mapping->host;
826 struct fuse_mount *fm = get_fuse_mount(inode);
844 fuse_wait_on_page_writeback(inode, page->index);
860 fuse_short_read(inode, attr_ver, res, &ia.ap);
869 struct inode *inode = page->mapping->host;
873 if (fuse_is_bad(inode))
877 fuse_invalidate_atime(inode);
897 struct inode *inode = mapping->host;
903 fuse_short_read(inode, ia->read.attr_ver, num_read, ap);
905 fuse_invalidate_atime(inode);
962 struct inode *inode = rac->mapping->host;
963 struct fuse_conn *fc = get_fuse_conn(inode);
966 if (fuse_is_bad(inode))
987 fuse_wait_on_page_writeback(inode,
998 struct inode *inode = iocb->ki_filp->f_mapping->host;
999 struct fuse_conn *fc = get_fuse_conn(inode);
1007 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) {
1009 err = fuse_update_attributes(inode, iocb->ki_filp);
1078 bool fuse_write_update_size(struct inode *inode, loff_t pos)
1080 struct fuse_conn *fc = get_fuse_conn(inode);
1081 struct fuse_inode *fi = get_fuse_inode(inode);
1086 if (pos > inode->i_size) {
1087 i_size_write(inode, pos);
1096 struct kiocb *iocb, struct inode *inode,
1108 fuse_wait_on_page_writeback(inode, ap->pages[i]->index);
1232 struct inode *inode = mapping->host;
1233 struct fuse_conn *fc = get_fuse_conn(inode);
1234 struct fuse_inode *fi = get_fuse_inode(inode);
1238 if (inode->i_size < pos + iov_iter_count(ii))
1258 err = fuse_send_write_pages(&ia, iocb, inode,
1275 fuse_write_update_size(inode, pos);
1278 fuse_invalidate_attr(inode);
1289 struct inode *inode = mapping->host;
1293 if (get_fuse_conn(inode)->writeback_cache) {
1302 inode_lock(inode);
1305 current->backing_dev_info = inode_to_bdi(inode);
1352 inode_unlock(inode);
1443 struct inode *inode = file->f_mapping->host;
1462 if (!cuse && fuse_range_is_writeback(inode, idx_from, idx_to)) {
1464 inode_lock(inode);
1465 fuse_sync_writes(inode);
1467 inode_unlock(inode);
1530 struct inode *inode = file_inode(io->iocb->ki_filp);
1534 fuse_invalidate_atime(inode);
1558 struct inode *inode = file_inode(iocb->ki_filp);
1563 inode_lock(inode);
1573 fuse_invalidate_attr(inode);
1575 fuse_write_update_size(inode, iocb->ki_pos);
1576 inode_unlock(inode);
1585 struct inode *inode = file_inode(file);
1587 if (fuse_is_bad(inode))
1590 if (FUSE_IS_DAX(inode))
1603 struct inode *inode = file_inode(file);
1605 if (fuse_is_bad(inode))
1608 if (FUSE_IS_DAX(inode))
1636 struct inode *inode = wpa->inode;
1637 struct fuse_inode *fi = get_fuse_inode(inode);
1638 struct backing_dev_info *bdi = inode_to_bdi(inode);
1656 struct fuse_inode *fi = get_fuse_inode(wpa->inode);
1712 void fuse_flush_writepages(struct inode *inode)
1716 struct fuse_mount *fm = get_fuse_mount(inode);
1717 struct fuse_inode *fi = get_fuse_inode(inode);
1718 loff_t crop = i_size_read(inode);
1745 WARN_ON(curr->inode != wpa->inode);
1771 struct inode *inode = wpa->inode;
1772 struct fuse_inode *fi = get_fuse_inode(inode);
1773 struct fuse_conn *fc = get_fuse_conn(inode);
1775 mapping_set_error(inode->i_mapping, error);
1783 fuse_invalidate_attr(inode);
1787 struct fuse_mount *fm = get_fuse_mount(inode);
1851 int fuse_write_inode(struct inode *inode, struct writeback_control *wbc)
1853 struct fuse_conn *fc = get_fuse_conn(inode);
1854 struct fuse_inode *fi = get_fuse_inode(inode);
1862 * Writing back the inode from reclaim can deadlock if the request
1870 err = fuse_flush_times(inode, ff);
1899 struct inode *inode = mapping->host;
1900 struct fuse_conn *fc = get_fuse_conn(inode);
1901 struct fuse_inode *fi = get_fuse_inode(inode);
1934 wpa->inode = inode;
1936 inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK);
1942 fuse_flush_writepages(inode);
1985 struct inode *inode;
1993 struct fuse_conn *fc = get_fuse_conn(data->inode);
2019 struct inode *inode = data->inode;
2020 struct fuse_inode *fi = get_fuse_inode(inode);
2027 fuse_flush_writepages(inode);
2044 struct fuse_inode *fi = get_fuse_inode(new_wpa->inode);
2062 WARN_ON(tmp->inode != new_wpa->inode);
2079 struct backing_dev_info *bdi = inode_to_bdi(new_wpa->inode);
2102 if (fuse_page_is_writeback(data->inode, page->index))
2130 struct inode *inode = data->inode;
2131 struct fuse_inode *fi = get_fuse_inode(inode);
2132 struct fuse_conn *fc = get_fuse_conn(inode);
2182 wpa->inode = inode;
2192 inc_wb_stat(&inode_to_bdi(inode)->wb, WB_WRITEBACK);
2218 struct inode *inode = mapping->host;
2219 struct fuse_conn *fc = get_fuse_conn(inode);
2224 if (fuse_is_bad(inode))
2227 data.inode = inode;
2304 struct inode *inode = page->mapping->host;
2318 fuse_write_update_size(inode, pos + copied);
2332 struct inode *inode = page->mapping->host;
2335 fuse_wait_on_page_writeback(inode, page->index);
2367 struct inode *inode = file_inode(vmf->vma->vm_file);
2371 if (page->mapping != inode->i_mapping) {
2376 fuse_wait_on_page_writeback(inode, page->index);
2450 struct inode *inode = file_inode(file);
2451 struct fuse_conn *fc = get_fuse_conn(inode);
2464 args->nodeid = get_node_id(inode);
2472 struct inode *inode = file_inode(file);
2473 struct fuse_mount *fm = get_fuse_mount(inode);
2492 struct inode *inode = file_inode(file);
2493 struct fuse_mount *fm = get_fuse_mount(inode);
2522 struct inode *inode = file_inode(file);
2523 struct fuse_conn *fc = get_fuse_conn(inode);
2545 struct inode *inode = file_inode(file);
2546 struct fuse_conn *fc = get_fuse_conn(inode);
2564 struct inode *inode = mapping->host;
2565 struct fuse_mount *fm = get_fuse_mount(inode);
2571 if (!inode->i_sb->s_bdev || fm->fc->no_bmap)
2576 inarg.blocksize = inode->i_sb->s_blocksize;
2578 args.nodeid = get_node_id(inode);
2594 struct inode *inode = file->f_mapping->host;
2595 struct fuse_mount *fm = get_fuse_mount(inode);
2626 return vfs_setpos(file, outarg.offset, inode->i_sb->s_maxbytes);
2629 err = fuse_update_attributes(inode, file);
2639 struct inode *inode = file_inode(file);
2648 inode_lock(inode);
2649 retval = fuse_update_attributes(inode, file);
2652 inode_unlock(inode);
2656 inode_lock(inode);
2658 inode_unlock(inode);
3000 struct inode *inode = file_inode(file);
3001 struct fuse_conn *fc = get_fuse_conn(inode);
3006 if (fuse_is_bad(inode))
3145 struct inode *inode = file->f_mapping->host;
3149 attr.ia_size = i_size_read(inode);
3170 struct inode *inode;
3177 inode = file->f_mapping->host;
3178 i_size = i_size_read(inode);
3227 fuse_invalidate_attr(inode);
3250 fuse_write_update_size(inode, pos);
3258 static int fuse_writeback_range(struct inode *inode, loff_t start, loff_t end)
3260 int err = filemap_write_and_wait_range(inode->i_mapping, start, LLONG_MAX);
3263 fuse_sync_writes(inode);
3272 struct inode *inode = file_inode(file);
3273 struct fuse_inode *fi = get_fuse_inode(inode);
3283 bool block_faults = FUSE_IS_DAX(inode) &&
3293 inode_lock(inode);
3296 err = fuse_dax_break_layouts(inode, 0, 0);
3304 err = fuse_writeback_range(inode, offset, endbyte);
3310 offset + length > i_size_read(inode)) {
3311 err = inode_newsize_ok(inode, offset + length);
3338 bool changed = fuse_write_update_size(inode, offset + length);
3345 truncate_pagecache_range(inode, offset, offset + length - 1);
3347 fuse_invalidate_attr(inode);
3356 inode_unlock(inode);
3358 fuse_flush_time_update(inode);
3369 struct inode *inode_in = file_inode(file_in);
3370 struct inode *inode_out = file_inode(file_out);
3523 void fuse_init_file_inode(struct inode *inode)
3525 struct fuse_inode *fi = get_fuse_inode(inode);
3527 inode->i_fop = &fuse_file_operations;
3528 inode->i_data.a_ops = &fuse_file_aops;
3537 fuse_dax_inode_init(inode);