Lines Matching refs:capsnap

1212 	struct ceph_cap_snap *capsnap;  in __ceph_flush_snaps()  local
1226 list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) { in __ceph_flush_snaps()
1228 if (capsnap->follows < next_follows) in __ceph_flush_snaps()
1234 if (capsnap->dirty_pages || capsnap->writing) in __ceph_flush_snaps()
1241 BUG_ON(capsnap->dirty == 0); in __ceph_flush_snaps()
1250 if (!again && !list_empty(&capsnap->flushing_item)) { in __ceph_flush_snaps()
1251 dout("already flushed %p, skipping\n", capsnap); in __ceph_flush_snaps()
1283 capsnap->flush_tid = ++ci->i_cap_flush_last_tid; in __ceph_flush_snaps()
1284 atomic_inc(&capsnap->nref); in __ceph_flush_snaps()
1285 if (!list_empty(&capsnap->flushing_item)) in __ceph_flush_snaps()
1286 list_del_init(&capsnap->flushing_item); in __ceph_flush_snaps()
1287 list_add_tail(&capsnap->flushing_item, in __ceph_flush_snaps()
1292 inode, capsnap, capsnap->follows, capsnap->flush_tid); in __ceph_flush_snaps()
1294 CEPH_CAP_OP_FLUSHSNAP, capsnap->issued, 0, in __ceph_flush_snaps()
1295 capsnap->dirty, 0, capsnap->flush_tid, 0, mseq, in __ceph_flush_snaps()
1296 capsnap->size, 0, in __ceph_flush_snaps()
1297 &capsnap->mtime, &capsnap->atime, in __ceph_flush_snaps()
1298 capsnap->time_warp_seq, in __ceph_flush_snaps()
1299 capsnap->uid, capsnap->gid, capsnap->mode, in __ceph_flush_snaps()
1300 capsnap->xattr_version, capsnap->xattr_blob, in __ceph_flush_snaps()
1301 capsnap->follows); in __ceph_flush_snaps()
1303 next_follows = capsnap->follows + 1; in __ceph_flush_snaps()
1304 ceph_put_cap_snap(capsnap); in __ceph_flush_snaps()
1891 struct ceph_cap_snap *capsnap; in kick_flushing_capsnaps() local
1894 list_for_each_entry(capsnap, &session->s_cap_snaps_flushing, in kick_flushing_capsnaps()
1896 struct ceph_inode_info *ci = capsnap->ci; in kick_flushing_capsnaps()
1904 cap, capsnap); in kick_flushing_capsnaps()
2164 struct ceph_cap_snap *capsnap; in ceph_put_cap_refs() local
2187 capsnap = list_first_entry(&ci->i_cap_snaps, in ceph_put_cap_refs()
2190 if (capsnap->writing) { in ceph_put_cap_refs()
2191 capsnap->writing = 0; in ceph_put_cap_refs()
2194 capsnap); in ceph_put_cap_refs()
2229 struct ceph_cap_snap *capsnap = NULL; in ceph_put_wrbuffer_cap_refs() local
2249 list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) { in ceph_put_wrbuffer_cap_refs()
2250 if (capsnap->context == snapc) { in ceph_put_wrbuffer_cap_refs()
2256 capsnap->dirty_pages -= nr; in ceph_put_wrbuffer_cap_refs()
2257 if (capsnap->dirty_pages == 0) { in ceph_put_wrbuffer_cap_refs()
2259 if (capsnap->dirty == 0) in ceph_put_wrbuffer_cap_refs()
2266 inode, capsnap, capsnap->context->seq, in ceph_put_wrbuffer_cap_refs()
2267 ci->i_wrbuffer_ref+nr, capsnap->dirty_pages + nr, in ceph_put_wrbuffer_cap_refs()
2268 ci->i_wrbuffer_ref, capsnap->dirty_pages, in ceph_put_wrbuffer_cap_refs()
2273 ceph_put_snap_context(capsnap->context); in ceph_put_wrbuffer_cap_refs()
2274 list_del(&capsnap->ci_item); in ceph_put_wrbuffer_cap_refs()
2275 list_del(&capsnap->flushing_item); in ceph_put_wrbuffer_cap_refs()
2276 ceph_put_cap_snap(capsnap); in ceph_put_wrbuffer_cap_refs()
2562 struct ceph_cap_snap *capsnap; in handle_cap_flushsnap_ack() local
2569 list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) { in handle_cap_flushsnap_ack()
2570 if (capsnap->follows == follows) { in handle_cap_flushsnap_ack()
2571 if (capsnap->flush_tid != flush_tid) { in handle_cap_flushsnap_ack()
2573 " %lld\n", capsnap, follows, in handle_cap_flushsnap_ack()
2574 flush_tid, capsnap->flush_tid); in handle_cap_flushsnap_ack()
2577 WARN_ON(capsnap->dirty_pages || capsnap->writing); in handle_cap_flushsnap_ack()
2579 inode, capsnap, follows); in handle_cap_flushsnap_ack()
2580 ceph_put_snap_context(capsnap->context); in handle_cap_flushsnap_ack()
2581 list_del(&capsnap->ci_item); in handle_cap_flushsnap_ack()
2582 list_del(&capsnap->flushing_item); in handle_cap_flushsnap_ack()
2583 ceph_put_cap_snap(capsnap); in handle_cap_flushsnap_ack()
2588 capsnap, capsnap->follows); in handle_cap_flushsnap_ack()