Lines Matching refs:snapc

84 	struct ceph_snap_context *snapc;  in ceph_set_page_dirty()  local
104 snapc = ceph_get_snap_context(capsnap->context); in ceph_set_page_dirty()
108 snapc = ceph_get_snap_context(ci->i_head_snapc); in ceph_set_page_dirty()
119 snapc, snapc->seq, snapc->num_snaps); in ceph_set_page_dirty()
127 attach_page_private(page, snapc); in ceph_set_page_dirty()
142 struct ceph_snap_context *snapc; in ceph_invalidatepage() local
162 snapc = detach_page_private(page); in ceph_invalidatepage()
163 ceph_put_wrbuffer_cap_refs(ci, 1, snapc); in ceph_invalidatepage()
164 ceph_put_snap_context(snapc); in ceph_invalidatepage()
399 struct ceph_snap_context *snapc = NULL; in get_oldest_context() local
410 if (snapc && capsnap->context != page_snapc) in get_oldest_context()
426 if (snapc) in get_oldest_context()
429 snapc = ceph_get_snap_context(capsnap->context); in get_oldest_context()
431 page_snapc == snapc || in get_oldest_context()
432 page_snapc->seq > snapc->seq) in get_oldest_context()
435 if (!snapc && ci->i_wrbuffer_ref_head) { in get_oldest_context()
436 snapc = ceph_get_snap_context(ci->i_head_snapc); in get_oldest_context()
438 snapc, ci->i_wrbuffer_ref_head); in get_oldest_context()
448 return snapc; in get_oldest_context()
455 struct ceph_snap_context *snapc = page_snap_context(page); in get_writepages_data_length() local
459 if (snapc != ci->i_head_snapc) { in get_writepages_data_length()
463 if (capsnap->context == snapc) { in get_writepages_data_length()
489 struct ceph_snap_context *snapc, *oldest; in writepage_nounlock() local
500 snapc = page_snap_context(page); in writepage_nounlock()
501 if (!snapc) { in writepage_nounlock()
505 oldest = get_oldest_context(inode, &ceph_wbc, snapc); in writepage_nounlock()
506 if (snapc->seq > oldest->seq) { in writepage_nounlock()
508 inode, page, snapc); in writepage_nounlock()
528 inode, page, page->index, page_off, len, snapc, snapc->seq); in writepage_nounlock()
536 CEPH_OSD_OP_WRITE, CEPH_OSD_FLAG_WRITE, snapc, in writepage_nounlock()
584 WARN_ON_ONCE(oldest != snapc); in writepage_nounlock()
586 ceph_put_wrbuffer_cap_refs(ci, 1, snapc); in writepage_nounlock()
587 ceph_put_snap_context(snapc); /* page's reference */ in writepage_nounlock()
628 struct ceph_snap_context *snapc = req->r_snapc; in writepages_finish() local
694 ceph_put_wrbuffer_cap_refs(ci, total_pages, snapc); in writepages_finish()
715 struct ceph_snap_context *snapc = NULL, *last_snapc = NULL, *pgsnapc; in ceph_writepages_start() local
747 snapc = get_oldest_context(inode, &ceph_wbc, NULL); in ceph_writepages_start()
748 if (!snapc) { in ceph_writepages_start()
755 snapc, snapc->seq, snapc->num_snaps); in ceph_writepages_start()
758 if (ceph_wbc.head_snapc && snapc != last_snapc) { in ceph_writepages_start()
784 last_snapc = snapc; in ceph_writepages_start()
820 if (pgsnapc != snapc) { in ceph_writepages_start()
822 pgsnapc, pgsnapc->seq, snapc, snapc->seq); in ceph_writepages_start()
960 snapc, ceph_wbc.truncate_seq, in ceph_writepages_start()
970 snapc, ceph_wbc.truncate_seq, in ceph_writepages_start()
1095 if (page_snap_context(page) != snapc) in ceph_writepages_start()
1125 struct ceph_snap_context *snapc) in context_is_writeable_or_written() argument
1128 int ret = !oldest || snapc->seq <= oldest->seq; in context_is_writeable_or_written()
1158 struct ceph_snap_context *snapc, *oldest; in ceph_find_incompatible() local
1162 snapc = page_snap_context(page); in ceph_find_incompatible()
1163 if (!snapc || snapc == ci->i_head_snapc) in ceph_find_incompatible()
1171 if (snapc->seq > oldest->seq) { in ceph_find_incompatible()
1174 dout(" page %p snapc %p not current or oldest\n", page, snapc); in ceph_find_incompatible()
1175 return ceph_get_snap_context(snapc); in ceph_find_incompatible()
1180 dout(" page %p snapc %p not current, but oldest\n", page, snapc); in ceph_find_incompatible()
1195 struct ceph_snap_context *snapc; in ceph_netfs_check_write_begin() local
1197 snapc = ceph_find_incompatible(folio_page(folio, 0)); in ceph_netfs_check_write_begin()
1198 if (snapc) { in ceph_netfs_check_write_begin()
1203 if (IS_ERR(snapc)) in ceph_netfs_check_write_begin()
1204 return PTR_ERR(snapc); in ceph_netfs_check_write_begin()
1208 context_is_writeable_or_written(inode, snapc)); in ceph_netfs_check_write_begin()
1209 ceph_put_snap_context(snapc); in ceph_netfs_check_write_begin()
1496 struct ceph_snap_context *snapc; in ceph_page_mkwrite() local
1506 snapc = ceph_find_incompatible(page); in ceph_page_mkwrite()
1507 if (!snapc) { in ceph_page_mkwrite()
1516 if (IS_ERR(snapc)) { in ceph_page_mkwrite()
1523 context_is_writeable_or_written(inode, snapc)); in ceph_page_mkwrite()
1524 ceph_put_snap_context(snapc); in ceph_page_mkwrite()