Lines Matching defs:waiter
88 struct vdo_waiter waiter;
163 static inline struct vdo_page_completion *page_completion_from_waiter(struct vdo_waiter *waiter)
167 if (waiter == NULL)
170 completion = container_of(waiter, struct vdo_page_completion, waiter);
500 * @waiter: The page completion, as a waiter.
505 static void complete_waiter_with_error(struct vdo_waiter *waiter, void *result_ptr)
509 vdo_fail_completion(&page_completion_from_waiter(waiter)->completion, *result);
514 * @waiter: The page completion, as a waiter.
519 static void complete_waiter_with_page(struct vdo_waiter *waiter, void *page_info)
521 complete_with_page(page_info, page_completion_from_waiter(waiter));
865 * completion_needs_page() - Determine whether a given vdo_page_completion (as a waiter) is
873 static bool completion_needs_page(struct vdo_waiter *waiter, void *context)
877 return (page_completion_from_waiter(waiter)->pbn == *pbn);
967 vdo_waitq_enqueue_waiter(&cache->free_waiters, &vdo_page_comp->waiter);
1154 VDO_ASSERT_LOG_ONLY((page_completion->waiter.next_waiter == NULL),
1184 vdo_waitq_enqueue_waiter(&info->waiting, &vdo_page_comp->waiter);
1218 VDO_ASSERT_LOG_ONLY((page_completion->waiter.next_waiter == NULL),
1250 vdo_waitq_enqueue_waiter(&info->waiting, &page_completion->waiter);
1475 bool decrement_old = vdo_waiter_is_waiting(&page->waiter);
1497 static void write_page_callback(struct vdo_waiter *waiter, void *context)
1499 write_page(container_of(waiter, struct tree_page, waiter), context);
1502 static void acquire_vio(struct vdo_waiter *waiter, struct block_map_zone *zone)
1504 waiter->callback = write_page_callback;
1505 acquire_vio_from_pool(zone->vio_pool, waiter);
1525 acquire_vio(&page->waiter, zone);
1529 vdo_waitq_enqueue_waiter(&zone->flush_waiters, &page->waiter);
1532 static void write_page_if_not_dirtied(struct vdo_waiter *waiter, void *context)
1534 struct tree_page *page = container_of(waiter, struct tree_page, waiter);
1538 acquire_vio(waiter, write_context->zone);
1590 struct tree_page, waiter);
1722 static void abort_lookup_for_waiter(struct vdo_waiter *waiter, void *context)
1724 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
1812 static void continue_load_for_waiter(struct vdo_waiter *waiter, void *context)
1814 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
1869 static void load_page(struct vdo_waiter *waiter, void *context)
1872 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
1914 vdo_waitq_enqueue_waiter(&lock_holder->waiters, &data_vio->waiter);
1930 data_vio->waiter.callback = load_page;
1931 acquire_vio_from_pool(zone->vio_pool, &data_vio->waiter);
1946 static void continue_allocation_for_waiter(struct vdo_waiter *waiter, void *context)
1948 struct data_vio *data_vio = vdo_waiter_as_data_vio(waiter);
2008 result = VDO_ASSERT(!vdo_waiter_is_waiting(&page->waiter),
2087 if (vdo_waiter_is_waiting(&tree_page->waiter)) {
2322 bool waiting = vdo_waiter_is_waiting(&page->waiter);
2626 static void launch_cursor(struct vdo_waiter *waiter, void *context)
2628 struct cursor *cursor = container_of(waiter, struct cursor, waiter);
2703 cursor->waiter.callback = launch_cursor;
2704 acquire_vio_from_pool(cursors->pool, &cursor->waiter);