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