Lines Matching refs:inode

82 	struct inode *inode;  in ceph_dirty_folio()  local
93 inode = mapping->host; in ceph_dirty_folio()
94 ci = ceph_inode(inode); in ceph_dirty_folio()
112 ihold(inode); in ceph_dirty_folio()
140 struct inode *inode; in ceph_invalidate_folio() local
144 inode = folio->mapping->host; in ceph_invalidate_folio()
145 ci = ceph_inode(inode); in ceph_invalidate_folio()
149 inode, folio->index, offset, length); in ceph_invalidate_folio()
156 inode, folio->index); in ceph_invalidate_folio()
168 struct inode *inode = folio->mapping->host; in ceph_release_folio() local
171 ceph_vinop(inode), in ceph_release_folio()
182 ceph_fscache_note_page_release(inode); in ceph_release_folio()
188 struct inode *inode = rreq->inode; in ceph_netfs_expand_readahead() local
189 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_netfs_expand_readahead()
191 unsigned long max_pages = inode->i_sb->s_bdi->ra_pages; in ceph_netfs_expand_readahead()
231 struct inode *inode = subreq->rreq->inode; in ceph_netfs_clamp_length() local
232 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(inode); in ceph_netfs_clamp_length()
233 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_netfs_clamp_length()
246 struct inode *inode = req->r_inode; in finish_netfs_read() local
247 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(inode); in finish_netfs_read()
271 if (IS_ENCRYPTED(inode) && err > 0) { in finish_netfs_read()
272 err = ceph_fscrypt_decrypt_extents(inode, in finish_netfs_read()
294 struct inode *inode = rreq->inode; in ceph_netfs_issue_op_inline() local
298 struct ceph_mds_client *mdsc = ceph_sb_to_mdsc(inode->i_sb); in ceph_netfs_issue_op_inline()
299 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_netfs_issue_op_inline()
308 if (subreq->start >= inode->i_size) in ceph_netfs_issue_op_inline()
312 mode = ceph_try_to_choose_auth_mds(inode, CEPH_STAT_CAP_INLINE_DATA); in ceph_netfs_issue_op_inline()
349 struct inode *inode = rreq->inode; in ceph_netfs_issue_read() local
350 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_netfs_issue_read()
351 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(inode); in ceph_netfs_issue_read()
353 struct ceph_vino vino = ceph_vino(inode); in ceph_netfs_issue_read()
357 bool sparse = IS_ENCRYPTED(inode) || ceph_test_mount_opt(fsc, SPARSEREAD); in ceph_netfs_issue_read()
360 if (ceph_inode_is_shutdown(inode)) { in ceph_netfs_issue_read()
368 ceph_fscrypt_adjust_off_and_len(inode, &off, &len); in ceph_netfs_issue_read()
397 if (IS_ENCRYPTED(inode)) { in ceph_netfs_issue_read()
424 req->r_inode = inode; in ceph_netfs_issue_read()
425 ihold(inode); in ceph_netfs_issue_read()
437 struct inode *inode = rreq->inode; in ceph_init_request() local
467 ret = ceph_try_get_caps(inode, CEPH_CAP_FILE_RD, want, true, &got); in ceph_init_request()
469 dout("start_read %p, error getting cap\n", inode); in ceph_init_request()
474 dout("start_read %p, no cache cap\n", inode); in ceph_init_request()
501 ceph_put_cap_refs(ceph_inode(rreq->inode), priv->caps); in ceph_netfs_free_request()
524 struct inode *inode = priv; in ceph_fscache_write_terminated() local
527 ceph_fscache_invalidate(inode, false); in ceph_fscache_write_terminated()
530 static void ceph_fscache_write_to_cache(struct inode *inode, u64 off, u64 len, bool caching) in ceph_fscache_write_to_cache() argument
532 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_fscache_write_to_cache()
535 fscache_write_to_cache(cookie, inode->i_mapping, off, len, i_size_read(inode), in ceph_fscache_write_to_cache()
536 ceph_fscache_write_terminated, inode, caching); in ceph_fscache_write_to_cache()
543 static inline void ceph_fscache_write_to_cache(struct inode *inode, u64 off, u64 len, bool caching) in ceph_fscache_write_to_cache() argument
562 get_oldest_context(struct inode *inode, struct ceph_writeback_ctl *ctl, in get_oldest_context() argument
565 struct ceph_inode_info *ci = ceph_inode(inode); in get_oldest_context()
582 ctl->i_size = i_size_read(inode); in get_oldest_context()
607 ctl->i_size = i_size_read(inode); in get_oldest_context()
618 static u64 get_writepages_data_length(struct inode *inode, in get_writepages_data_length() argument
621 struct ceph_inode_info *ci = ceph_inode(inode); in get_writepages_data_length()
624 u64 end = i_size_read(inode); in get_writepages_data_length()
659 struct inode *inode = page->mapping->host; in writepage_nounlock() local
660 struct ceph_inode_info *ci = ceph_inode(inode); in writepage_nounlock()
661 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(inode); in writepage_nounlock()
670 bool caching = ceph_is_cache_enabled(inode); in writepage_nounlock()
675 if (ceph_inode_is_shutdown(inode)) in writepage_nounlock()
681 dout("writepage %p page %p not dirty?\n", inode, page); in writepage_nounlock()
684 oldest = get_oldest_context(inode, &ceph_wbc, snapc); in writepage_nounlock()
687 inode, page, snapc); in writepage_nounlock()
707 wlen = IS_ENCRYPTED(inode) ? round_up(len, CEPH_FSCRYPT_BLOCK_SIZE) : len; in writepage_nounlock()
709 inode, page, page->index, page_off, wlen, snapc, snapc->seq); in writepage_nounlock()
715 req = ceph_osdc_new_request(osdc, &ci->i_layout, ceph_vino(inode), in writepage_nounlock()
731 ceph_fscache_write_to_cache(inode, page_off, len, caching); in writepage_nounlock()
733 if (IS_ENCRYPTED(inode)) { in writepage_nounlock()
751 page_off, len, wlen, IS_ENCRYPTED(inode) ? "" : "not "); in writepage_nounlock()
753 req->r_mtime = inode->i_mtime; in writepage_nounlock()
779 mapping_set_error(&inode->i_data, err); in writepage_nounlock()
801 struct inode *inode = page->mapping->host; in ceph_writepage() local
802 BUG_ON(!inode); in ceph_writepage()
803 ihold(inode); in ceph_writepage()
806 ceph_inode_to_fs_client(inode)->write_congested) { in ceph_writepage()
820 iput(inode); in ceph_writepage()
832 struct inode *inode = req->r_inode; in writepages_finish() local
833 struct ceph_inode_info *ci = ceph_inode(inode); in writepages_finish()
840 struct address_space *mapping = inode->i_mapping; in writepages_finish()
841 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(inode); in writepages_finish()
845 dout("writepages_finish %p rc %d\n", inode, rc); in writepages_finish()
898 generic_error_remove_page(inode->i_mapping, in writepages_finish()
904 inode, osd_data->length, rc >= 0 ? num_pages : 0); in writepages_finish()
929 struct inode *inode = mapping->host; in ceph_writepages_start() local
930 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_writepages_start()
931 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(inode); in ceph_writepages_start()
932 struct ceph_vino vino = ceph_vino(inode); in ceph_writepages_start()
937 unsigned int wsize = i_blocksize(inode); in ceph_writepages_start()
942 bool caching = ceph_is_cache_enabled(inode); in ceph_writepages_start()
949 dout("writepages_start %p (mode=%s)\n", inode, in ceph_writepages_start()
953 if (ceph_inode_is_shutdown(inode)) { in ceph_writepages_start()
957 inode, ceph_ino(inode)); in ceph_writepages_start()
977 snapc = get_oldest_context(inode, &ceph_wbc, NULL); in ceph_writepages_start()
1069 folio_pos(folio) >= i_size_read(inode)) && in ceph_writepages_start()
1149 inode, page, page->index); in ceph_writepages_start()
1156 if (IS_ENCRYPTED(inode)) { in ceph_writepages_start()
1164 __func__, inode->i_blkbits); in ceph_writepages_start()
1234 req->r_inode = inode; in ceph_writepages_start()
1254 ceph_fscache_write_to_cache(inode, offset, len, caching); in ceph_writepages_start()
1277 ceph_fscache_write_to_cache(inode, offset, len, caching); in ceph_writepages_start()
1286 len = get_writepages_data_length(inode, pages[i - 1], in ceph_writepages_start()
1290 if (IS_ENCRYPTED(inode)) in ceph_writepages_start()
1295 if (IS_ENCRYPTED(inode) && in ceph_writepages_start()
1332 req->r_mtime = inode->i_mtime; in ceph_writepages_start()
1404 static int context_is_writeable_or_written(struct inode *inode, in context_is_writeable_or_written() argument
1407 struct ceph_snap_context *oldest = get_oldest_context(inode, NULL, NULL); in context_is_writeable_or_written()
1428 struct inode *inode = page->mapping->host; in ceph_find_incompatible() local
1429 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_find_incompatible()
1431 if (ceph_inode_is_shutdown(inode)) { in ceph_find_incompatible()
1433 ceph_vinop(inode)); in ceph_find_incompatible()
1450 oldest = get_oldest_context(inode, NULL, NULL); in ceph_find_incompatible()
1473 struct inode *inode = file_inode(file); in ceph_netfs_check_write_begin() local
1474 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_netfs_check_write_begin()
1487 ceph_queue_writeback(inode); in ceph_netfs_check_write_begin()
1489 context_is_writeable_or_written(inode, snapc)); in ceph_netfs_check_write_begin()
1504 struct inode *inode = file_inode(file); in ceph_write_begin() local
1505 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_write_begin()
1509 r = netfs_write_begin(&ci->netfs, file, inode->i_mapping, pos, len, &folio, NULL); in ceph_write_begin()
1528 struct inode *inode = file_inode(file); in ceph_write_end() local
1532 inode, folio, (int)pos, (int)copied, (int)len); in ceph_write_end()
1544 if (pos+copied > i_size_read(inode)) in ceph_write_end()
1545 check_cap = ceph_inode_set_size(inode, pos+copied); in ceph_write_end()
1554 ceph_check_caps(ceph_inode(inode), CHECK_CAPS_AUTHONLY); in ceph_write_end()
1590 struct inode *inode = file_inode(vma->vm_file); in ceph_filemap_fault() local
1591 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_filemap_fault()
1598 if (ceph_inode_is_shutdown(inode)) in ceph_filemap_fault()
1604 inode, ceph_vinop(inode), off); in ceph_filemap_fault()
1616 inode, off, ceph_cap_string(got)); in ceph_filemap_fault()
1625 inode, off, ceph_cap_string(got), ret); in ceph_filemap_fault()
1639 struct address_space *mapping = inode->i_mapping; in ceph_filemap_fault()
1649 err = __ceph_do_getattr(inode, page, in ceph_filemap_fault()
1651 if (err < 0 || off >= i_size_read(inode)) { in ceph_filemap_fault()
1667 inode, off, ret); in ceph_filemap_fault()
1680 struct inode *inode = file_inode(vma->vm_file); in ceph_page_mkwrite() local
1681 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_page_mkwrite()
1686 loff_t size = i_size_read(inode); in ceph_page_mkwrite()
1692 if (ceph_inode_is_shutdown(inode)) in ceph_page_mkwrite()
1699 sb_start_pagefault(inode->i_sb); in ceph_page_mkwrite()
1708 inode, ceph_vinop(inode), off, len, size); in ceph_page_mkwrite()
1720 inode, off, len, ceph_cap_string(got)); in ceph_page_mkwrite()
1724 inode_inc_iversion_raw(inode); in ceph_page_mkwrite()
1731 if (page_mkwrite_check_truncate(page, inode) < 0) { in ceph_page_mkwrite()
1752 ceph_queue_writeback(inode); in ceph_page_mkwrite()
1754 context_is_writeable_or_written(inode, snapc)); in ceph_page_mkwrite()
1765 __mark_inode_dirty(inode, dirty); in ceph_page_mkwrite()
1769 inode, off, len, ceph_cap_string(got), ret); in ceph_page_mkwrite()
1773 sb_end_pagefault(inode->i_sb); in ceph_page_mkwrite()
1780 void ceph_fill_inline_data(struct inode *inode, struct page *locked_page, in ceph_fill_inline_data() argument
1783 struct address_space *mapping = inode->i_mapping; in ceph_fill_inline_data()
1789 if (i_size_read(inode) == 0) in ceph_fill_inline_data()
1804 inode, ceph_vinop(inode), len, locked_page); in ceph_fill_inline_data()
1826 struct inode *inode = file_inode(file); in ceph_uninline_data() local
1827 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_uninline_data()
1828 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(inode); in ceph_uninline_data()
1842 inode, ceph_vinop(inode), inline_version); in ceph_uninline_data()
1844 if (ceph_inode_is_shutdown(inode)) { in ceph_uninline_data()
1859 folio = read_mapping_folio(inode->i_mapping, 0, file); in ceph_uninline_data()
1867 len = i_size_read(inode); in ceph_uninline_data()
1872 ceph_vino(inode), 0, &len, 0, 1, in ceph_uninline_data()
1880 req->r_mtime = inode->i_mtime; in ceph_uninline_data()
1888 ceph_vino(inode), 0, &len, 1, 3, in ceph_uninline_data()
1922 req->r_mtime = inode->i_mtime; in ceph_uninline_data()
1941 __mark_inode_dirty(inode, dirty); in ceph_uninline_data()
1955 inode, ceph_vinop(inode), inline_version, err); in ceph_uninline_data()
1982 struct ceph_fs_client *fsc = ceph_inode_to_fs_client(&ci->netfs.inode); in __ceph_pool_perm_get()
2097 wr_req->r_mtime = ci->netfs.inode.i_mtime; in __ceph_pool_perm_get()
2153 int ceph_pool_perm_check(struct inode *inode, int need) in ceph_pool_perm_check() argument
2155 struct ceph_inode_info *ci = ceph_inode(inode); in ceph_pool_perm_check()
2161 if (!S_ISREG(inode->i_mode)) in ceph_pool_perm_check()
2173 if (ceph_test_mount_opt(ceph_inode_to_fs_client(inode), in ceph_pool_perm_check()