Lines Matching refs:wb

1656 	struct writeback_struct *wb = container_of(bio, struct writeback_struct, bio);  in writecache_writeback_endio()  local
1657 struct dm_writecache *wc = wb->wc; in writecache_writeback_endio()
1663 list_add_tail(&wb->endio_entry, &wc->endio_list); in writecache_writeback_endio()
1684 struct writeback_struct *wb; in __writecache_endio_pmem() local
1689 wb = list_entry(list->next, struct writeback_struct, endio_entry); in __writecache_endio_pmem()
1690 list_del(&wb->endio_entry); in __writecache_endio_pmem()
1692 if (unlikely(wb->bio.bi_status != BLK_STS_OK)) in __writecache_endio_pmem()
1693 writecache_error(wc, blk_status_to_errno(wb->bio.bi_status), in __writecache_endio_pmem()
1694 "write error %d", wb->bio.bi_status); in __writecache_endio_pmem()
1697 e = wb->wc_list[i]; in __writecache_endio_pmem()
1712 } while (++i < wb->wc_list_n); in __writecache_endio_pmem()
1714 if (wb->wc_list != wb->wc_list_inline) in __writecache_endio_pmem()
1715 kfree(wb->wc_list); in __writecache_endio_pmem()
1716 bio_put(&wb->bio); in __writecache_endio_pmem()
1796 static bool wc_add_block(struct writeback_struct *wb, struct wc_entry *e) in wc_add_block() argument
1798 struct dm_writecache *wc = wb->wc; in wc_add_block()
1804 if (unlikely(bio_end_sector(&wb->bio) >= wc->data_device_sectors)) in wc_add_block()
1807 return bio_add_page(&wb->bio, persistent_memory_page(address), in wc_add_block()
1833 struct writeback_struct *wb; in __writecache_writeback_pmem() local
1845 wb = container_of(bio, struct writeback_struct, bio); in __writecache_writeback_pmem()
1846 wb->wc = wc; in __writecache_writeback_pmem()
1851 wb->wc_list = kmalloc_array(max_pages, sizeof(struct wc_entry *), in __writecache_writeback_pmem()
1855 if (likely(max_pages <= WB_LIST_INLINE) || unlikely(!wb->wc_list)) { in __writecache_writeback_pmem()
1856 wb->wc_list = wb->wc_list_inline; in __writecache_writeback_pmem()
1860 BUG_ON(!wc_add_block(wb, e)); in __writecache_writeback_pmem()
1862 wb->wc_list[0] = e; in __writecache_writeback_pmem()
1863 wb->wc_list_n = 1; in __writecache_writeback_pmem()
1865 while (wbl->size && wb->wc_list_n < max_pages) { in __writecache_writeback_pmem()
1870 if (!wc_add_block(wb, f)) in __writecache_writeback_pmem()
1874 wb->wc_list[wb->wc_list_n++] = f; in __writecache_writeback_pmem()