Lines Matching refs:cf

1673 		struct ceph_cap_flush *cf = NULL, *iter;  in __ceph_flush_snaps()  local
1685 cf = iter; in __ceph_flush_snaps()
1693 first_tid = cf->tid + 1; in __ceph_flush_snaps()
1695 capsnap = container_of(cf, struct ceph_cap_snap, cap_flush); in __ceph_flush_snaps()
1700 ceph_vinop(inode), capsnap, cf->tid, in __ceph_flush_snaps()
1708 ceph_vinop(inode), cf->tid, in __ceph_flush_snaps()
1842 struct ceph_cap_flush *cf; in ceph_alloc_cap_flush() local
1844 cf = kmem_cache_alloc(ceph_cap_flush_cachep, GFP_KERNEL); in ceph_alloc_cap_flush()
1845 if (!cf) in ceph_alloc_cap_flush()
1848 cf->is_capsnap = false; in ceph_alloc_cap_flush()
1849 return cf; in ceph_alloc_cap_flush()
1852 void ceph_free_cap_flush(struct ceph_cap_flush *cf) in ceph_free_cap_flush() argument
1854 if (cf) in ceph_free_cap_flush()
1855 kmem_cache_free(ceph_cap_flush_cachep, cf); in ceph_free_cap_flush()
1861 struct ceph_cap_flush *cf = in __get_oldest_flush_tid() local
1864 return cf->tid; in __get_oldest_flush_tid()
1874 struct ceph_cap_flush *cf) in __detach_cap_flush_from_mdsc() argument
1877 bool wake = cf->wake; in __detach_cap_flush_from_mdsc()
1879 if (wake && cf->g_list.prev != &mdsc->cap_flush_list) { in __detach_cap_flush_from_mdsc()
1880 prev = list_prev_entry(cf, g_list); in __detach_cap_flush_from_mdsc()
1884 list_del_init(&cf->g_list); in __detach_cap_flush_from_mdsc()
1889 struct ceph_cap_flush *cf) in __detach_cap_flush_from_ci() argument
1892 bool wake = cf->wake; in __detach_cap_flush_from_ci()
1894 if (wake && cf->i_list.prev != &ci->i_cap_flush_list) { in __detach_cap_flush_from_ci()
1895 prev = list_prev_entry(cf, i_list); in __detach_cap_flush_from_ci()
1899 list_del_init(&cf->i_list); in __detach_cap_flush_from_ci()
1916 struct ceph_cap_flush *cf = NULL; in __mark_caps_flushing() local
1933 swap(cf, ci->i_prealloc_cap_flush); in __mark_caps_flushing()
1934 cf->caps = flushing; in __mark_caps_flushing()
1935 cf->wake = wake; in __mark_caps_flushing()
1940 cf->tid = ++mdsc->last_cap_flush_tid; in __mark_caps_flushing()
1941 list_add_tail(&cf->g_list, &mdsc->cap_flush_list); in __mark_caps_flushing()
1950 list_add_tail(&cf->i_list, &ci->i_cap_flush_list); in __mark_caps_flushing()
1952 return cf->tid; in __mark_caps_flushing()
2323 struct ceph_cap_flush *cf = in try_flush_caps() local
2326 cf->wake = true; in try_flush_caps()
2327 flush_tid = cf->tid; in try_flush_caps()
2347 struct ceph_cap_flush * cf = in caps_are_flushed() local
2350 if (cf->tid <= flush_tid) in caps_are_flushed()
2571 struct ceph_cap_flush *cf; in __kick_flushing_caps() local
2582 list_for_each_entry_reverse(cf, &ci->i_cap_flush_list, i_list) { in __kick_flushing_caps()
2583 if (cf->is_capsnap) { in __kick_flushing_caps()
2584 last_snap_flush = cf->tid; in __kick_flushing_caps()
2589 list_for_each_entry(cf, &ci->i_cap_flush_list, i_list) { in __kick_flushing_caps()
2590 if (cf->tid < first_tid) in __kick_flushing_caps()
2600 first_tid = cf->tid + 1; in __kick_flushing_caps()
2602 if (!cf->is_capsnap) { in __kick_flushing_caps()
2606 inode, ceph_vinop(inode), cap, cf->tid, in __kick_flushing_caps()
2607 ceph_cap_string(cf->caps)); in __kick_flushing_caps()
2609 (cf->tid < last_snap_flush ? in __kick_flushing_caps()
2614 cf->caps, cf->tid, oldest_flush_tid); in __kick_flushing_caps()
2619 container_of(cf, struct ceph_cap_snap, in __kick_flushing_caps()
2622 inode, ceph_vinop(inode), capsnap, cf->tid, in __kick_flushing_caps()
2633 inode, ceph_vinop(inode), cf->tid, in __kick_flushing_caps()
3820 struct ceph_cap_flush *cf, *tmp_cf; in handle_cap_flush_ack() local
3829 list_for_each_entry_safe(cf, tmp_cf, &ci->i_cap_flush_list, i_list) { in handle_cap_flush_ack()
3831 if (cf->tid == flush_tid) in handle_cap_flush_ack()
3832 cleaned = cf->caps; in handle_cap_flush_ack()
3835 if (cf->is_capsnap) in handle_cap_flush_ack()
3838 if (cf->tid <= flush_tid) { in handle_cap_flush_ack()
3843 wake_ci |= __detach_cap_flush_from_ci(ci, cf); in handle_cap_flush_ack()
3844 list_add_tail(&cf->i_list, &to_remove); in handle_cap_flush_ack()
3850 cleaned &= ~cf->caps; in handle_cap_flush_ack()
3869 list_for_each_entry(cf, &to_remove, i_list) in handle_cap_flush_ack()
3870 wake_mdsc |= __detach_cap_flush_from_mdsc(mdsc, cf); in handle_cap_flush_ack()
3909 cf = list_first_entry(&to_remove, in handle_cap_flush_ack()
3911 list_del_init(&cf->i_list); in handle_cap_flush_ack()
3912 if (!cf->is_capsnap) in handle_cap_flush_ack()
3913 ceph_free_cap_flush(cf); in handle_cap_flush_ack()
5027 struct ceph_cap_flush *cf; in ceph_purge_inode_cap() local
5040 cf = list_first_entry(&ci->i_cap_flush_list, in ceph_purge_inode_cap()
5042 list_del_init(&cf->g_list); in ceph_purge_inode_cap()
5043 list_del_init(&cf->i_list); in ceph_purge_inode_cap()
5044 if (!cf->is_capsnap) in ceph_purge_inode_cap()
5045 ceph_free_cap_flush(cf); in ceph_purge_inode_cap()
5090 cf = ci->i_prealloc_cap_flush; in ceph_purge_inode_cap()
5092 if (!cf->is_capsnap) in ceph_purge_inode_cap()
5093 ceph_free_cap_flush(cf); in ceph_purge_inode_cap()