Lines Matching refs:stripe

599 static int rbio_stripe_page_index(struct btrfs_raid_bio *rbio, int stripe,  in rbio_stripe_page_index()  argument
602 return stripe * rbio->stripe_npages + index; in rbio_stripe_page_index()
609 static struct page *rbio_stripe_page(struct btrfs_raid_bio *rbio, int stripe, in rbio_stripe_page() argument
612 return rbio->stripe_pages[rbio_stripe_page_index(rbio, stripe, index)]; in rbio_stripe_page()
1077 struct btrfs_bio_stripe *stripe; in rbio_add_io_page() local
1080 stripe = &rbio->bbio->stripes[stripe_nr]; in rbio_add_io_page()
1081 disk_start = stripe->physical + (page_index << PAGE_SHIFT); in rbio_add_io_page()
1084 if (!stripe->dev->bdev) in rbio_add_io_page()
1096 if (last_end == disk_start && stripe->dev->bdev && in rbio_add_io_page()
1098 last->bi_disk == stripe->dev->bdev->bd_disk && in rbio_add_io_page()
1099 last->bi_partno == stripe->dev->bdev->bd_partno) { in rbio_add_io_page()
1109 bio_set_dev(bio, stripe->dev->bdev); in rbio_add_io_page()
1183 int stripe; in finish_rmw() local
1234 for (stripe = 0; stripe < nr_data; stripe++) { in finish_rmw()
1235 p = page_in_rbio(rbio, stripe, pagenr, 0); in finish_rmw()
1236 pointers[stripe] = kmap(p); in finish_rmw()
1242 pointers[stripe++] = kmap(p); in finish_rmw()
1252 pointers[stripe++] = kmap(p); in finish_rmw()
1263 for (stripe = 0; stripe < rbio->real_stripes; stripe++) in finish_rmw()
1264 kunmap(page_in_rbio(rbio, stripe, pagenr, 0)); in finish_rmw()
1272 for (stripe = 0; stripe < rbio->real_stripes; stripe++) { in finish_rmw()
1275 if (stripe < rbio->nr_data) { in finish_rmw()
1276 page = page_in_rbio(rbio, stripe, pagenr, 1); in finish_rmw()
1280 page = rbio_stripe_page(rbio, stripe, pagenr); in finish_rmw()
1284 page, stripe, pagenr, rbio->stripe_len); in finish_rmw()
1293 for (stripe = 0; stripe < rbio->real_stripes; stripe++) { in finish_rmw()
1294 if (!bbio->tgtdev_map[stripe]) in finish_rmw()
1299 if (stripe < rbio->nr_data) { in finish_rmw()
1300 page = page_in_rbio(rbio, stripe, pagenr, 1); in finish_rmw()
1304 page = rbio_stripe_page(rbio, stripe, pagenr); in finish_rmw()
1308 rbio->bbio->tgtdev_map[stripe], in finish_rmw()
1350 struct btrfs_bio_stripe *stripe; in find_bio_stripe() local
1355 stripe = &rbio->bbio->stripes[i]; in find_bio_stripe()
1356 stripe_start = stripe->physical; in find_bio_stripe()
1359 stripe->dev->bdev && in find_bio_stripe()
1360 bio->bi_disk == stripe->dev->bdev->bd_disk && in find_bio_stripe()
1361 bio->bi_partno == stripe->dev->bdev->bd_partno) { in find_bio_stripe()
1501 int stripe; in raid56_rmw_stripe() local
1517 for (stripe = 0; stripe < rbio->nr_data; stripe++) { in raid56_rmw_stripe()
1526 page = page_in_rbio(rbio, stripe, pagenr, 1); in raid56_rmw_stripe()
1530 page = rbio_stripe_page(rbio, stripe, pagenr); in raid56_rmw_stripe()
1539 stripe, pagenr, rbio->stripe_len); in raid56_rmw_stripe()
1797 int pagenr, stripe; in __raid_recover_end_io() local
1834 for (stripe = 0; stripe < rbio->real_stripes; stripe++) { in __raid_recover_end_io()
1841 (stripe == faila || stripe == failb)) { in __raid_recover_end_io()
1842 page = page_in_rbio(rbio, stripe, pagenr, 0); in __raid_recover_end_io()
1844 page = rbio_stripe_page(rbio, stripe, pagenr); in __raid_recover_end_io()
1846 pointers[stripe] = kmap(page); in __raid_recover_end_io()
1917 for (stripe = faila; stripe < rbio->nr_data - 1; stripe++) in __raid_recover_end_io()
1918 pointers[stripe] = pointers[stripe + 1]; in __raid_recover_end_io()
1942 for (stripe = 0; stripe < rbio->real_stripes; stripe++) { in __raid_recover_end_io()
1949 (stripe == faila || stripe == failb)) { in __raid_recover_end_io()
1950 page = page_in_rbio(rbio, stripe, pagenr, 0); in __raid_recover_end_io()
1952 page = rbio_stripe_page(rbio, stripe, pagenr); in __raid_recover_end_io()
2047 int stripe; in __raid56_parity_recover() local
2063 for (stripe = 0; stripe < rbio->real_stripes; stripe++) { in __raid56_parity_recover()
2064 if (rbio->faila == stripe || rbio->failb == stripe) { in __raid56_parity_recover()
2076 p = rbio_stripe_page(rbio, stripe, pagenr); in __raid56_parity_recover()
2081 rbio_stripe_page(rbio, stripe, pagenr), in __raid56_parity_recover()
2082 stripe, pagenr, rbio->stripe_len); in __raid56_parity_recover()
2341 int stripe; in finish_parity_scrub() local
2398 for (stripe = 0; stripe < nr_data; stripe++) { in finish_parity_scrub()
2399 p = page_in_rbio(rbio, stripe, pagenr, 0); in finish_parity_scrub()
2400 pointers[stripe] = kmap(p); in finish_parity_scrub()
2404 pointers[stripe++] = kmap(p_page); in finish_parity_scrub()
2412 pointers[stripe++] = kmap(q_page); in finish_parity_scrub()
2432 for (stripe = 0; stripe < rbio->real_stripes; stripe++) in finish_parity_scrub()
2433 kunmap(page_in_rbio(rbio, stripe, pagenr, 0)); in finish_parity_scrub()
2500 static inline int is_data_stripe(struct btrfs_raid_bio *rbio, int stripe) in is_data_stripe() argument
2502 if (stripe >= 0 && stripe < rbio->nr_data) in is_data_stripe()
2604 int stripe; in raid56_parity_scrub_stripe() local
2618 for (stripe = 0; stripe < rbio->real_stripes; stripe++) { in raid56_parity_scrub_stripe()
2627 page = page_in_rbio(rbio, stripe, pagenr, 1); in raid56_parity_scrub_stripe()
2631 page = rbio_stripe_page(rbio, stripe, pagenr); in raid56_parity_scrub_stripe()
2640 stripe, pagenr, rbio->stripe_len); in raid56_parity_scrub_stripe()