Lines Matching refs:snapc

84 	struct ceph_snap_context *snapc;  in ceph_dirty_folio()  local
104 snapc = ceph_get_snap_context(capsnap->context); in ceph_dirty_folio()
108 snapc = ceph_get_snap_context(ci->i_head_snapc); in ceph_dirty_folio()
119 snapc, snapc->seq, snapc->num_snaps); in ceph_dirty_folio()
127 folio_attach_private(folio, snapc); in ceph_dirty_folio()
142 struct ceph_snap_context *snapc; in ceph_invalidate_folio() local
158 snapc = folio_detach_private(folio); in ceph_invalidate_folio()
159 ceph_put_wrbuffer_cap_refs(ci, 1, snapc); in ceph_invalidate_folio()
160 ceph_put_snap_context(snapc); in ceph_invalidate_folio()
566 struct ceph_snap_context *snapc = NULL; in get_oldest_context() local
577 if (snapc && capsnap->context != page_snapc) in get_oldest_context()
593 if (snapc) in get_oldest_context()
596 snapc = ceph_get_snap_context(capsnap->context); in get_oldest_context()
598 page_snapc == snapc || in get_oldest_context()
599 page_snapc->seq > snapc->seq) in get_oldest_context()
602 if (!snapc && ci->i_wrbuffer_ref_head) { in get_oldest_context()
603 snapc = ceph_get_snap_context(ci->i_head_snapc); in get_oldest_context()
605 snapc, ci->i_wrbuffer_ref_head); in get_oldest_context()
615 return snapc; in get_oldest_context()
622 struct ceph_snap_context *snapc; in get_writepages_data_length() local
627 snapc = page_snap_context(ceph_fscrypt_pagecache_page(page)); in get_writepages_data_length()
628 if (snapc != ci->i_head_snapc) { in get_writepages_data_length()
632 if (capsnap->context == snapc) { in get_writepages_data_length()
662 struct ceph_snap_context *snapc, *oldest; in writepage_nounlock() local
679 snapc = page_snap_context(page); in writepage_nounlock()
680 if (!snapc) { in writepage_nounlock()
684 oldest = get_oldest_context(inode, &ceph_wbc, snapc); in writepage_nounlock()
685 if (snapc->seq > oldest->seq) { in writepage_nounlock()
687 inode, page, snapc); in writepage_nounlock()
709 inode, page, page->index, page_off, wlen, snapc, snapc->seq); in writepage_nounlock()
717 CEPH_OSD_FLAG_WRITE, snapc, in writepage_nounlock()
786 WARN_ON_ONCE(oldest != snapc); in writepage_nounlock()
788 ceph_put_wrbuffer_cap_refs(ci, 1, snapc); in writepage_nounlock()
789 ceph_put_snap_context(snapc); /* page's reference */ in writepage_nounlock()
837 struct ceph_snap_context *snapc = req->r_snapc; in writepages_finish() local
910 ceph_put_wrbuffer_cap_refs(ci, total_pages, snapc); in writepages_finish()
932 struct ceph_snap_context *snapc = NULL, *last_snapc = NULL, *pgsnapc; in ceph_writepages_start() local
975 snapc = get_oldest_context(inode, &ceph_wbc, NULL); in ceph_writepages_start()
976 if (!snapc) { in ceph_writepages_start()
983 snapc, snapc->seq, snapc->num_snaps); in ceph_writepages_start()
986 if (ceph_wbc.head_snapc && snapc != last_snapc) { in ceph_writepages_start()
1015 last_snapc = snapc; in ceph_writepages_start()
1051 if (pgsnapc != snapc) { in ceph_writepages_start()
1053 pgsnapc, pgsnapc->seq, snapc, snapc->seq); in ceph_writepages_start()
1210 snapc, ceph_wbc.truncate_seq, in ceph_writepages_start()
1220 snapc, ceph_wbc.truncate_seq, in ceph_writepages_start()
1373 if (page_snap_context(page) != snapc) in ceph_writepages_start()
1403 struct ceph_snap_context *snapc) in context_is_writeable_or_written() argument
1406 int ret = !oldest || snapc->seq <= oldest->seq; in context_is_writeable_or_written()
1436 struct ceph_snap_context *snapc, *oldest; in ceph_find_incompatible() local
1440 snapc = page_snap_context(page); in ceph_find_incompatible()
1441 if (!snapc || snapc == ci->i_head_snapc) in ceph_find_incompatible()
1449 if (snapc->seq > oldest->seq) { in ceph_find_incompatible()
1452 dout(" page %p snapc %p not current or oldest\n", page, snapc); in ceph_find_incompatible()
1453 return ceph_get_snap_context(snapc); in ceph_find_incompatible()
1458 dout(" page %p snapc %p not current, but oldest\n", page, snapc); in ceph_find_incompatible()
1473 struct ceph_snap_context *snapc; in ceph_netfs_check_write_begin() local
1475 snapc = ceph_find_incompatible(folio_page(*foliop, 0)); in ceph_netfs_check_write_begin()
1476 if (snapc) { in ceph_netfs_check_write_begin()
1482 if (IS_ERR(snapc)) in ceph_netfs_check_write_begin()
1483 return PTR_ERR(snapc); in ceph_netfs_check_write_begin()
1487 context_is_writeable_or_written(inode, snapc)); in ceph_netfs_check_write_begin()
1488 ceph_put_snap_context(snapc); in ceph_netfs_check_write_begin()
1725 struct ceph_snap_context *snapc; in ceph_page_mkwrite() local
1735 snapc = ceph_find_incompatible(page); in ceph_page_mkwrite()
1736 if (!snapc) { in ceph_page_mkwrite()
1745 if (IS_ERR(snapc)) { in ceph_page_mkwrite()
1752 context_is_writeable_or_written(inode, snapc)); in ceph_page_mkwrite()
1753 ceph_put_snap_context(snapc); in ceph_page_mkwrite()