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()
398 struct ceph_snap_context *snapc = NULL; in get_oldest_context() local
409 if (snapc && capsnap->context != page_snapc) in get_oldest_context()
425 if (snapc) in get_oldest_context()
428 snapc = ceph_get_snap_context(capsnap->context); in get_oldest_context()
430 page_snapc == snapc || in get_oldest_context()
431 page_snapc->seq > snapc->seq) in get_oldest_context()
434 if (!snapc && ci->i_wrbuffer_ref_head) { in get_oldest_context()
435 snapc = ceph_get_snap_context(ci->i_head_snapc); in get_oldest_context()
437 snapc, ci->i_wrbuffer_ref_head); in get_oldest_context()
447 return snapc; in get_oldest_context()
454 struct ceph_snap_context *snapc = page_snap_context(page); in get_writepages_data_length() local
458 if (snapc != ci->i_head_snapc) { in get_writepages_data_length()
462 if (capsnap->context == snapc) { in get_writepages_data_length()
488 struct ceph_snap_context *snapc, *oldest; in writepage_nounlock() local
499 snapc = page_snap_context(page); in writepage_nounlock()
500 if (!snapc) { in writepage_nounlock()
504 oldest = get_oldest_context(inode, &ceph_wbc, snapc); in writepage_nounlock()
505 if (snapc->seq > oldest->seq) { in writepage_nounlock()
507 inode, page, snapc); in writepage_nounlock()
527 inode, page, page->index, page_off, len, snapc, snapc->seq); in writepage_nounlock()
535 CEPH_OSD_OP_WRITE, CEPH_OSD_FLAG_WRITE, snapc, in writepage_nounlock()
583 WARN_ON_ONCE(oldest != snapc); in writepage_nounlock()
585 ceph_put_wrbuffer_cap_refs(ci, 1, snapc); in writepage_nounlock()
586 ceph_put_snap_context(snapc); /* page's reference */ in writepage_nounlock()
627 struct ceph_snap_context *snapc = req->r_snapc; in writepages_finish() local
693 ceph_put_wrbuffer_cap_refs(ci, total_pages, snapc); in writepages_finish()
714 struct ceph_snap_context *snapc = NULL, *last_snapc = NULL, *pgsnapc; in ceph_writepages_start() local
746 snapc = get_oldest_context(inode, &ceph_wbc, NULL); in ceph_writepages_start()
747 if (!snapc) { in ceph_writepages_start()
754 snapc, snapc->seq, snapc->num_snaps); in ceph_writepages_start()
757 if (ceph_wbc.head_snapc && snapc != last_snapc) { in ceph_writepages_start()
783 last_snapc = snapc; in ceph_writepages_start()
819 if (pgsnapc != snapc) { in ceph_writepages_start()
821 pgsnapc, pgsnapc->seq, snapc, snapc->seq); in ceph_writepages_start()
959 snapc, ceph_wbc.truncate_seq, in ceph_writepages_start()
969 snapc, ceph_wbc.truncate_seq, in ceph_writepages_start()
1094 if (page_snap_context(page) != snapc) in ceph_writepages_start()
1124 struct ceph_snap_context *snapc) in context_is_writeable_or_written() argument
1127 int ret = !oldest || snapc->seq <= oldest->seq; in context_is_writeable_or_written()
1157 struct ceph_snap_context *snapc, *oldest; in ceph_find_incompatible() local
1161 snapc = page_snap_context(page); in ceph_find_incompatible()
1162 if (!snapc || snapc == ci->i_head_snapc) in ceph_find_incompatible()
1170 if (snapc->seq > oldest->seq) { in ceph_find_incompatible()
1173 dout(" page %p snapc %p not current or oldest\n", page, snapc); in ceph_find_incompatible()
1174 return ceph_get_snap_context(snapc); in ceph_find_incompatible()
1179 dout(" page %p snapc %p not current, but oldest\n", page, snapc); in ceph_find_incompatible()
1194 struct ceph_snap_context *snapc; in ceph_netfs_check_write_begin() local
1196 snapc = ceph_find_incompatible(page); in ceph_netfs_check_write_begin()
1197 if (snapc) { in ceph_netfs_check_write_begin()
1202 if (IS_ERR(snapc)) in ceph_netfs_check_write_begin()
1203 return PTR_ERR(snapc); in ceph_netfs_check_write_begin()
1207 context_is_writeable_or_written(inode, snapc)); in ceph_netfs_check_write_begin()
1208 ceph_put_snap_context(snapc); in ceph_netfs_check_write_begin()
1495 struct ceph_snap_context *snapc; in ceph_page_mkwrite() local
1505 snapc = ceph_find_incompatible(page); in ceph_page_mkwrite()
1506 if (!snapc) { in ceph_page_mkwrite()
1515 if (IS_ERR(snapc)) { in ceph_page_mkwrite()
1522 context_is_writeable_or_written(inode, snapc)); in ceph_page_mkwrite()
1523 ceph_put_snap_context(snapc); in ceph_page_mkwrite()