Lines Matching refs:snapc

87 	struct ceph_snap_context *snapc;  in ceph_dirty_folio()  local
107 snapc = ceph_get_snap_context(capsnap->context); in ceph_dirty_folio()
111 snapc = ceph_get_snap_context(ci->i_head_snapc); in ceph_dirty_folio()
122 snapc, snapc->seq, snapc->num_snaps); in ceph_dirty_folio()
130 folio_attach_private(folio, snapc); in ceph_dirty_folio()
146 struct ceph_snap_context *snapc; in ceph_invalidate_folio() local
160 snapc = folio_detach_private(folio); in ceph_invalidate_folio()
161 ceph_put_wrbuffer_cap_refs(ci, 1, snapc); in ceph_invalidate_folio()
162 ceph_put_snap_context(snapc); in ceph_invalidate_folio()
587 struct ceph_snap_context *snapc; member
627 struct ceph_snap_context *snapc = NULL; in get_oldest_context() local
638 if (snapc && capsnap->context != page_snapc) in get_oldest_context()
654 if (snapc) in get_oldest_context()
657 snapc = ceph_get_snap_context(capsnap->context); in get_oldest_context()
659 page_snapc == snapc || in get_oldest_context()
660 page_snapc->seq > snapc->seq) in get_oldest_context()
663 if (!snapc && ci->i_wrbuffer_ref_head) { in get_oldest_context()
664 snapc = ceph_get_snap_context(ci->i_head_snapc); in get_oldest_context()
665 doutc(cl, " head snapc %p has %d dirty pages\n", snapc, in get_oldest_context()
676 return snapc; in get_oldest_context()
683 struct ceph_snap_context *snapc; in get_writepages_data_length() local
688 snapc = page_snap_context(ceph_fscrypt_pagecache_page(page)); in get_writepages_data_length()
689 if (snapc != ci->i_head_snapc) { in get_writepages_data_length()
693 if (capsnap->context == snapc) { in get_writepages_data_length()
725 struct ceph_snap_context *snapc, *oldest; in write_folio_nounlock() local
743 snapc = page_snap_context(&folio->page); in write_folio_nounlock()
744 if (!snapc) { in write_folio_nounlock()
749 oldest = get_oldest_context(inode, &ceph_wbc, snapc); in write_folio_nounlock()
750 if (snapc->seq > oldest->seq) { in write_folio_nounlock()
752 ceph_vinop(inode), folio, snapc); in write_folio_nounlock()
774 ceph_vinop(inode), folio, folio->index, page_off, wlen, snapc, in write_folio_nounlock()
775 snapc->seq); in write_folio_nounlock()
783 CEPH_OSD_FLAG_WRITE, snapc, in write_folio_nounlock()
855 WARN_ON_ONCE(oldest != snapc); in write_folio_nounlock()
857 ceph_put_wrbuffer_cap_refs(ci, 1, snapc); in write_folio_nounlock()
858 ceph_put_snap_context(snapc); /* page's reference */ in write_folio_nounlock()
883 struct ceph_snap_context *snapc = req->r_snapc; in writepages_finish() local
966 ceph_put_wrbuffer_cap_refs(ci, total_pages, snapc); in writepages_finish()
1030 ceph_wbc->snapc = NULL; in ceph_init_writeback_ctl()
1076 ceph_wbc->snapc = get_oldest_context(inode, ceph_wbc, NULL); in ceph_define_writeback_range()
1077 if (!ceph_wbc->snapc) { in ceph_define_writeback_range()
1085 ceph_wbc->snapc, ceph_wbc->snapc->seq, in ceph_define_writeback_range()
1086 ceph_wbc->snapc->num_snaps); in ceph_define_writeback_range()
1090 if (ceph_wbc->head_snapc && ceph_wbc->snapc != ceph_wbc->last_snapc) { in ceph_define_writeback_range()
1117 ceph_wbc->last_snapc = ceph_wbc->snapc; in ceph_define_writeback_range()
1155 if (pgsnapc != ceph_wbc->snapc) { in ceph_check_page_before_write()
1158 ceph_wbc->snapc, ceph_wbc->snapc->seq); in ceph_check_page_before_write()
1433 ceph_wbc->snapc, ceph_wbc->truncate_seq, in ceph_submit_write()
1443 ceph_wbc->snapc, in ceph_submit_write()
1616 if (page_snap_context(page) != ceph_wbc->snapc) in ceph_wait_until_current_writes_complete()
1769 struct ceph_snap_context *snapc) in context_is_writeable_or_written() argument
1772 int ret = !oldest || snapc->seq <= oldest->seq; in context_is_writeable_or_written()
1803 struct ceph_snap_context *snapc, *oldest; in ceph_find_incompatible() local
1807 snapc = page_snap_context(&folio->page); in ceph_find_incompatible()
1808 if (!snapc || snapc == ci->i_head_snapc) in ceph_find_incompatible()
1816 if (snapc->seq > oldest->seq) { in ceph_find_incompatible()
1820 ceph_vinop(inode), folio, snapc); in ceph_find_incompatible()
1821 return ceph_get_snap_context(snapc); in ceph_find_incompatible()
1827 ceph_vinop(inode), folio, snapc); in ceph_find_incompatible()
1842 struct ceph_snap_context *snapc; in ceph_netfs_check_write_begin() local
1844 snapc = ceph_find_incompatible(*foliop); in ceph_netfs_check_write_begin()
1845 if (snapc) { in ceph_netfs_check_write_begin()
1851 if (IS_ERR(snapc)) in ceph_netfs_check_write_begin()
1852 return PTR_ERR(snapc); in ceph_netfs_check_write_begin()
1856 context_is_writeable_or_written(inode, snapc)); in ceph_netfs_check_write_begin()
1857 ceph_put_snap_context(snapc); in ceph_netfs_check_write_begin()
2098 struct ceph_snap_context *snapc; in ceph_page_mkwrite() local
2108 snapc = ceph_find_incompatible(folio); in ceph_page_mkwrite()
2109 if (!snapc) { in ceph_page_mkwrite()
2118 if (IS_ERR(snapc)) { in ceph_page_mkwrite()
2125 context_is_writeable_or_written(inode, snapc)); in ceph_page_mkwrite()
2126 ceph_put_snap_context(snapc); in ceph_page_mkwrite()