Lines Matching refs:t_page
724 struct nullb_page *t_page;
726 t_page = kmalloc(sizeof(struct nullb_page), gfp_flags);
727 if (!t_page)
730 t_page->page = alloc_pages(gfp_flags, 0);
731 if (!t_page->page)
734 memset(t_page->bitmap, 0, sizeof(t_page->bitmap));
735 return t_page;
737 kfree(t_page);
742 static void null_free_page(struct nullb_page *t_page)
744 __set_bit(NULLB_PAGE_FREE, t_page->bitmap);
745 if (test_bit(NULLB_PAGE_LOCK, t_page->bitmap))
747 __free_page(t_page->page);
748 kfree(t_page);
763 struct nullb_page *t_page, *ret;
770 t_page = radix_tree_lookup(root, idx);
771 if (t_page) {
772 __clear_bit(sector_bit, t_page->bitmap);
774 if (null_page_empty(t_page)) {
775 ret = radix_tree_delete_item(root, idx, t_page);
776 WARN_ON(ret != t_page);
785 struct nullb_page *t_page, bool is_cache)
791 if (radix_tree_insert(root, idx, t_page)) {
792 null_free_page(t_page);
793 t_page = radix_tree_lookup(root, idx);
794 WARN_ON(!t_page || t_page->page->index != idx);
798 return t_page;
835 struct nullb_page *t_page;
842 t_page = radix_tree_lookup(root, idx);
843 WARN_ON(t_page && t_page->page->index != idx);
845 if (t_page && (for_write || test_bit(sector_bit, t_page->bitmap)))
846 return t_page;
869 struct nullb_page *t_page;
871 t_page = null_lookup_page(nullb, sector, true, ignore_cache);
872 if (t_page)
873 return t_page;
877 t_page = null_alloc_page(GFP_NOIO);
878 if (!t_page)
886 t_page->page->index = idx;
887 t_page = null_radix_tree_insert(nullb, idx, t_page, !ignore_cache);
890 return t_page;
892 null_free_page(t_page);
903 struct nullb_page *t_page, *ret;
908 t_page = null_insert_page(nullb, idx << PAGE_SECTORS_SHIFT, true);
913 if (t_page && null_page_empty(t_page)) {
915 idx, t_page);
916 null_free_page(t_page);
921 if (!t_page)
925 dst = kmap_atomic(t_page->page);
933 __set_bit(i, t_page->bitmap);
1005 struct nullb_page *t_page;
1015 t_page = null_insert_page(nullb, sector,
1017 if (!t_page)
1021 dst = kmap_atomic(t_page->page);
1026 __set_bit(sector & SECTOR_MASK, t_page->bitmap);
1042 struct nullb_page *t_page;
1049 t_page = null_lookup_page(nullb, sector, false,
1053 if (!t_page) {
1057 src = kmap_atomic(t_page->page);