Lines Matching defs:page

157 	struct page **stripe_pages;
163 struct page **bio_pages;
244 * use the page uptodate bit in the stripe cache array
302 struct page *s;
303 struct page *d;
626 static struct page *rbio_stripe_page(struct btrfs_raid_bio *rbio, int stripe,
635 static struct page *rbio_pstripe_page(struct btrfs_raid_bio *rbio, int index)
644 static struct page *rbio_qstripe_page(struct btrfs_raid_bio *rbio, int index)
937 * and page number in that stripe fall inside the original bio
943 * This doesn't take any refs on anything, you get a bare page pointer
949 static struct page *page_in_rbio(struct btrfs_raid_bio *rbio,
953 struct page *p = NULL;
1050 struct page *page;
1055 page = alloc_page(GFP_NOFS | __GFP_HIGHMEM);
1056 if (!page)
1058 rbio->stripe_pages[i] = page;
1067 struct page *page;
1074 page = alloc_page(GFP_NOFS | __GFP_HIGHMEM);
1075 if (!page)
1077 rbio->stripe_pages[i] = page;
1083 * add a single page from a specific stripe into our list of bios for IO
1089 struct page *page,
1107 /* see if we can add this page onto our existing bio */
1119 ret = bio_add_page(last, page, PAGE_SIZE, 0);
1132 bio_add_page(bio, page, PAGE_SIZE, 0);
1140 * for errors and if we're not able to read the page it'll
1238 * bio list one last time and map the page pointers
1252 struct page *p;
1253 /* first collect one page from each data stripe */
1294 struct page *page;
1301 page = page_in_rbio(rbio, stripe, pagenr, 1);
1302 if (!page)
1305 page = rbio_stripe_page(rbio, stripe, pagenr);
1309 page, stripe, pagenr, rbio->stripe_len);
1323 struct page *page;
1330 page = page_in_rbio(rbio, stripe, pagenr, 1);
1331 if (!page)
1334 page = rbio_stripe_page(rbio, stripe, pagenr);
1337 ret = rbio_add_io_page(rbio, &bio_list, page,
1458 * this sets each page in the bio uptodate. It should only be used on private
1538 struct page *page;
1542 * page_in_rbio finds a page in the bio list
1545 page = page_in_rbio(rbio, stripe, pagenr, 1);
1546 if (page)
1549 page = rbio_stripe_page(rbio, stripe, pagenr);
1552 * page. If so, be happy and use it
1554 if (PageUptodate(page))
1557 ret = rbio_add_io_page(rbio, &bio_list, page,
1841 struct page *page;
1883 page = page_in_rbio(rbio, stripe, pagenr, 0);
1885 page = rbio_stripe_page(rbio, stripe, pagenr);
1887 pointers[stripe] = kmap(page);
1971 page = rbio_stripe_page(rbio, faila, i);
1972 SetPageUptodate(page);
1975 page = rbio_stripe_page(rbio, failb, i);
1976 SetPageUptodate(page);
1988 page = page_in_rbio(rbio, stripe, pagenr, 0);
1990 page = rbio_stripe_page(rbio, stripe, pagenr);
1992 kunmap(page);
2305 /* Now we just support the sectorsize equals to page size */
2320 void raid56_add_scrub_pages(struct btrfs_raid_bio *rbio, struct page *page,
2331 rbio->bio_pages[index] = page;
2343 struct page *page;
2351 page = alloc_page(GFP_NOFS | __GFP_HIGHMEM);
2352 if (!page)
2354 rbio->stripe_pages[index] = page;
2370 struct page *p_page = NULL;
2371 struct page *q_page = NULL;
2423 struct page *p;
2425 /* first collect one page from each data stripe */
2469 struct page *page;
2471 page = rbio_stripe_page(rbio, rbio->scrubp, pagenr);
2473 page, rbio->scrubp, pagenr, rbio->stripe_len);
2482 struct page *page;
2484 page = rbio_stripe_page(rbio, rbio->scrubp, pagenr);
2485 ret = rbio_add_io_page(rbio, &bio_list, page,
2528 * not able to read the page it'll trigger parity reconstruction. The
2638 struct page *page;
2642 * page_in_rbio finds a page in the bio list
2645 page = page_in_rbio(rbio, stripe, pagenr, 1);
2646 if (page)
2649 page = rbio_stripe_page(rbio, stripe, pagenr);
2652 * page. If so, be happy and use it
2654 if (PageUptodate(page))
2657 ret = rbio_add_io_page(rbio, &bio_list, page,