Lines Matching full:mirror
99 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in nfs_pgheader_init() local
102 hdr->req = nfs_list_entry(mirror->pg_list.next); in nfs_pgheader_init()
106 hdr->good_bytes = mirror->pg_count; in nfs_pgheader_init()
728 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in nfs_generic_pg_test() local
731 if (mirror->pg_count > mirror->pg_bsize) { in nfs_generic_pg_test()
741 if (((mirror->pg_count + req->wb_bytes) >> PAGE_SHIFT) * in nfs_generic_pg_test()
745 return min(mirror->pg_bsize - mirror->pg_count, (size_t)req->wb_bytes); in nfs_generic_pg_test()
907 static void nfs_pageio_mirror_init(struct nfs_pgio_mirror *mirror, in nfs_pageio_mirror_init() argument
910 INIT_LIST_HEAD(&mirror->pg_list); in nfs_pageio_mirror_init()
911 mirror->pg_bytes_written = 0; in nfs_pageio_mirror_init()
912 mirror->pg_count = 0; in nfs_pageio_mirror_init()
913 mirror->pg_bsize = bsize; in nfs_pageio_mirror_init()
914 mirror->pg_base = 0; in nfs_pageio_mirror_init()
915 mirror->pg_recoalesce = 0; in nfs_pageio_mirror_init()
987 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in nfs_generic_pgio() local
992 struct list_head *head = &mirror->pg_list; in nfs_generic_pgio()
996 unsigned int pg_base = offset_in_page(mirror->pg_base); in nfs_generic_pgio()
999 pagecount = nfs_page_array_len(pg_base, mirror->pg_count); in nfs_generic_pgio()
1050 nfs_pgio_rpcsetup(hdr, pg_base, mirror->pg_count, desc->pg_ioflags, in nfs_generic_pgio()
1211 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in nfs_pageio_do_add_request() local
1215 if (list_empty(&mirror->pg_list)) { in nfs_pageio_do_add_request()
1220 mirror->pg_base = req->wb_pgbase; in nfs_pageio_do_add_request()
1221 mirror->pg_count = 0; in nfs_pageio_do_add_request()
1222 mirror->pg_recoalesce = 0; in nfs_pageio_do_add_request()
1224 prev = nfs_list_entry(mirror->pg_list.prev); in nfs_pageio_do_add_request()
1237 nfs_list_move_request(req, &mirror->pg_list); in nfs_pageio_do_add_request()
1238 mirror->pg_count += req->wb_bytes; in nfs_pageio_do_add_request()
1247 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in nfs_pageio_doio() local
1249 if (!list_empty(&mirror->pg_list)) { in nfs_pageio_doio()
1253 if (list_empty(&mirror->pg_list)) in nfs_pageio_doio()
1254 mirror->pg_bytes_written += mirror->pg_count; in nfs_pageio_doio()
1283 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in __nfs_pageio_add_request() local
1316 if (desc->pg_error < 0 || mirror->pg_recoalesce) in __nfs_pageio_add_request()
1339 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc); in nfs_do_recoalesce() local
1343 list_splice_init(&mirror->pg_list, &head); in nfs_do_recoalesce()
1344 mirror->pg_recoalesce = 0; in nfs_do_recoalesce()
1353 list_splice_tail(&head, &mirror->pg_list); in nfs_do_recoalesce()
1354 mirror->pg_recoalesce = 1; in nfs_do_recoalesce()
1359 } while (mirror->pg_recoalesce); in nfs_do_recoalesce()
1383 struct nfs_pgio_mirror *mirror; in nfs_pageio_error_cleanup() local
1389 mirror = nfs_pgio_get_mirror(desc, midx); in nfs_pageio_error_cleanup()
1390 desc->pg_completion_ops->error_cleanup(&mirror->pg_list, in nfs_pageio_error_cleanup()
1410 /* Create the mirror instances first, and fire them off */ in nfs_pageio_add_request()
1442 * nfs_pageio_complete_mirror - Complete I/O on the current mirror of an
1445 * @mirror_idx: pointer to mirror index
1450 struct nfs_pgio_mirror *mirror; in nfs_pageio_complete_mirror() local
1454 mirror = nfs_pgio_current_mirror(desc); in nfs_pageio_complete_mirror()
1458 if (desc->pg_error < 0 || !mirror->pg_recoalesce) in nfs_pageio_complete_mirror()
1533 struct nfs_pgio_mirror *mirror; in nfs_pageio_cond_complete() local
1539 mirror = nfs_pgio_get_mirror(desc, midx); in nfs_pageio_cond_complete()
1540 if (!list_empty(&mirror->pg_list)) { in nfs_pageio_cond_complete()
1541 prev = nfs_list_entry(mirror->pg_list.prev); in nfs_pageio_cond_complete()
1555 * nfs_pageio_stop_mirroring - stop using mirroring (set mirror count to 1)