Lines Matching refs:cf
1672 struct ceph_cap_flush *cf = NULL, *iter; in __ceph_flush_snaps() local
1684 cf = iter; in __ceph_flush_snaps()
1692 first_tid = cf->tid + 1; in __ceph_flush_snaps()
1694 capsnap = container_of(cf, struct ceph_cap_snap, cap_flush); in __ceph_flush_snaps()
1699 ceph_vinop(inode), capsnap, cf->tid, in __ceph_flush_snaps()
1707 ceph_vinop(inode), cf->tid, in __ceph_flush_snaps()
1841 struct ceph_cap_flush *cf; in ceph_alloc_cap_flush() local
1843 cf = kmem_cache_alloc(ceph_cap_flush_cachep, GFP_KERNEL); in ceph_alloc_cap_flush()
1844 if (!cf) in ceph_alloc_cap_flush()
1847 cf->is_capsnap = false; in ceph_alloc_cap_flush()
1848 return cf; in ceph_alloc_cap_flush()
1851 void ceph_free_cap_flush(struct ceph_cap_flush *cf) in ceph_free_cap_flush() argument
1853 if (cf) in ceph_free_cap_flush()
1854 kmem_cache_free(ceph_cap_flush_cachep, cf); in ceph_free_cap_flush()
1860 struct ceph_cap_flush *cf = in __get_oldest_flush_tid() local
1863 return cf->tid; in __get_oldest_flush_tid()
1873 struct ceph_cap_flush *cf) in __detach_cap_flush_from_mdsc() argument
1876 bool wake = cf->wake; in __detach_cap_flush_from_mdsc()
1878 if (wake && cf->g_list.prev != &mdsc->cap_flush_list) { in __detach_cap_flush_from_mdsc()
1879 prev = list_prev_entry(cf, g_list); in __detach_cap_flush_from_mdsc()
1883 list_del_init(&cf->g_list); in __detach_cap_flush_from_mdsc()
1888 struct ceph_cap_flush *cf) in __detach_cap_flush_from_ci() argument
1891 bool wake = cf->wake; in __detach_cap_flush_from_ci()
1893 if (wake && cf->i_list.prev != &ci->i_cap_flush_list) { in __detach_cap_flush_from_ci()
1894 prev = list_prev_entry(cf, i_list); in __detach_cap_flush_from_ci()
1898 list_del_init(&cf->i_list); in __detach_cap_flush_from_ci()
1915 struct ceph_cap_flush *cf = NULL; in __mark_caps_flushing() local
1932 swap(cf, ci->i_prealloc_cap_flush); in __mark_caps_flushing()
1933 cf->caps = flushing; in __mark_caps_flushing()
1934 cf->wake = wake; in __mark_caps_flushing()
1939 cf->tid = ++mdsc->last_cap_flush_tid; in __mark_caps_flushing()
1940 list_add_tail(&cf->g_list, &mdsc->cap_flush_list); in __mark_caps_flushing()
1949 list_add_tail(&cf->i_list, &ci->i_cap_flush_list); in __mark_caps_flushing()
1951 return cf->tid; in __mark_caps_flushing()
2322 struct ceph_cap_flush *cf = in try_flush_caps() local
2325 cf->wake = true; in try_flush_caps()
2326 flush_tid = cf->tid; in try_flush_caps()
2346 struct ceph_cap_flush * cf = in caps_are_flushed() local
2349 if (cf->tid <= flush_tid) in caps_are_flushed()
2570 struct ceph_cap_flush *cf; in __kick_flushing_caps() local
2581 list_for_each_entry_reverse(cf, &ci->i_cap_flush_list, i_list) { in __kick_flushing_caps()
2582 if (cf->is_capsnap) { in __kick_flushing_caps()
2583 last_snap_flush = cf->tid; in __kick_flushing_caps()
2588 list_for_each_entry(cf, &ci->i_cap_flush_list, i_list) { in __kick_flushing_caps()
2589 if (cf->tid < first_tid) in __kick_flushing_caps()
2599 first_tid = cf->tid + 1; in __kick_flushing_caps()
2601 if (!cf->is_capsnap) { in __kick_flushing_caps()
2605 inode, ceph_vinop(inode), cap, cf->tid, in __kick_flushing_caps()
2606 ceph_cap_string(cf->caps)); in __kick_flushing_caps()
2608 (cf->tid < last_snap_flush ? in __kick_flushing_caps()
2613 cf->caps, cf->tid, oldest_flush_tid); in __kick_flushing_caps()
2618 container_of(cf, struct ceph_cap_snap, in __kick_flushing_caps()
2621 inode, ceph_vinop(inode), capsnap, cf->tid, in __kick_flushing_caps()
2632 inode, ceph_vinop(inode), cf->tid, in __kick_flushing_caps()
3819 struct ceph_cap_flush *cf, *tmp_cf; in handle_cap_flush_ack() local
3828 list_for_each_entry_safe(cf, tmp_cf, &ci->i_cap_flush_list, i_list) { in handle_cap_flush_ack()
3830 if (cf->tid == flush_tid) in handle_cap_flush_ack()
3831 cleaned = cf->caps; in handle_cap_flush_ack()
3834 if (cf->is_capsnap) in handle_cap_flush_ack()
3837 if (cf->tid <= flush_tid) { in handle_cap_flush_ack()
3842 wake_ci |= __detach_cap_flush_from_ci(ci, cf); in handle_cap_flush_ack()
3843 list_add_tail(&cf->i_list, &to_remove); in handle_cap_flush_ack()
3849 cleaned &= ~cf->caps; in handle_cap_flush_ack()
3868 list_for_each_entry(cf, &to_remove, i_list) in handle_cap_flush_ack()
3869 wake_mdsc |= __detach_cap_flush_from_mdsc(mdsc, cf); in handle_cap_flush_ack()
3908 cf = list_first_entry(&to_remove, in handle_cap_flush_ack()
3910 list_del_init(&cf->i_list); in handle_cap_flush_ack()
3911 if (!cf->is_capsnap) in handle_cap_flush_ack()
3912 ceph_free_cap_flush(cf); in handle_cap_flush_ack()
5023 struct ceph_cap_flush *cf; in ceph_purge_inode_cap() local
5036 cf = list_first_entry(&ci->i_cap_flush_list, in ceph_purge_inode_cap()
5038 list_del_init(&cf->g_list); in ceph_purge_inode_cap()
5039 list_del_init(&cf->i_list); in ceph_purge_inode_cap()
5040 if (!cf->is_capsnap) in ceph_purge_inode_cap()
5041 ceph_free_cap_flush(cf); in ceph_purge_inode_cap()
5086 cf = ci->i_prealloc_cap_flush; in ceph_purge_inode_cap()
5088 if (!cf->is_capsnap) in ceph_purge_inode_cap()
5089 ceph_free_cap_flush(cf); in ceph_purge_inode_cap()