Home
last modified time | relevance | path

Searched refs:capsnap (Results 1 – 6 of 6) sorted by relevance

/linux-4.4.14/fs/ceph/
Dsnap.c458 struct ceph_cap_snap *capsnap; in ceph_queue_cap_snap() local
462 capsnap = kzalloc(sizeof(*capsnap), GFP_NOFS); in ceph_queue_cap_snap()
463 if (!capsnap) { in ceph_queue_cap_snap()
509 capsnap->need_flush = true; in ceph_queue_cap_snap()
520 inode, capsnap, old_snapc, ceph_cap_string(dirty), in ceph_queue_cap_snap()
521 capsnap->need_flush ? "" : "no_flush"); in ceph_queue_cap_snap()
524 atomic_set(&capsnap->nref, 1); in ceph_queue_cap_snap()
525 capsnap->ci = ci; in ceph_queue_cap_snap()
526 INIT_LIST_HEAD(&capsnap->ci_item); in ceph_queue_cap_snap()
527 INIT_LIST_HEAD(&capsnap->flushing_item); in ceph_queue_cap_snap()
[all …]
Dcaps.c1235 struct ceph_cap_snap *capsnap; in __ceph_flush_snaps() local
1249 list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) { in __ceph_flush_snaps()
1251 if (capsnap->follows < next_follows) in __ceph_flush_snaps()
1257 if (capsnap->dirty_pages || capsnap->writing) in __ceph_flush_snaps()
1261 BUG_ON(!capsnap->need_flush); in __ceph_flush_snaps()
1270 if (!kick && !list_empty(&capsnap->flushing_item)) { in __ceph_flush_snaps()
1271 dout("already flushed %p, skipping\n", capsnap); in __ceph_flush_snaps()
1307 capsnap->flush_tid = ++mdsc->last_cap_flush_tid; in __ceph_flush_snaps()
1310 atomic_inc(&capsnap->nref); in __ceph_flush_snaps()
1311 if (list_empty(&capsnap->flushing_item)) in __ceph_flush_snaps()
[all …]
Dsuper.h180 static inline void ceph_put_cap_snap(struct ceph_cap_snap *capsnap) in ceph_put_cap_snap() argument
182 if (atomic_dec_and_test(&capsnap->nref)) { in ceph_put_cap_snap()
183 if (capsnap->xattr_blob) in ceph_put_cap_snap()
184 ceph_buffer_put(capsnap->xattr_blob); in ceph_put_cap_snap()
185 kfree(capsnap); in ceph_put_cap_snap()
738 struct ceph_cap_snap *capsnap);
Daddr.c94 struct ceph_cap_snap *capsnap = in ceph_set_page_dirty() local
98 snapc = ceph_get_snap_context(capsnap->context); in ceph_set_page_dirty()
99 capsnap->dirty_pages++; in ceph_set_page_dirty()
447 struct ceph_cap_snap *capsnap = NULL; in get_oldest_context() local
450 list_for_each_entry(capsnap, &ci->i_cap_snaps, ci_item) { in get_oldest_context()
451 dout(" cap_snap %p snapc %p has %d dirty pages\n", capsnap, in get_oldest_context()
452 capsnap->context, capsnap->dirty_pages); in get_oldest_context()
453 if (capsnap->dirty_pages) { in get_oldest_context()
454 snapc = ceph_get_snap_context(capsnap->context); in get_oldest_context()
456 *snap_size = capsnap->size; in get_oldest_context()
Dfile.c1077 struct ceph_cap_snap *capsnap = in ceph_write_iter() local
1081 snapc = ceph_get_snap_context(capsnap->context); in ceph_write_iter()
Dmds_client.c1493 struct ceph_cap_snap *capsnap = in check_capsnap_flush() local
1496 ret = capsnap->follows >= want_snap_seq; in check_capsnap_flush()
1547 struct ceph_cap_snap *capsnap = in wait_caps_flush() local
1551 struct ceph_inode_info *ci = capsnap->ci; in wait_caps_flush()
1555 &ci->vfs_inode, capsnap->follows, in wait_caps_flush()