Lines Matching refs:mirror

99 	struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc);
102 hdr->req = nfs_list_entry(mirror->pg_list.next);
106 hdr->good_bytes = mirror->pg_count;
728 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc);
731 if (mirror->pg_count > mirror->pg_bsize) {
741 if (((mirror->pg_count + req->wb_bytes) >> PAGE_SHIFT) *
745 return min(mirror->pg_bsize - mirror->pg_count, (size_t)req->wb_bytes);
907 static void nfs_pageio_mirror_init(struct nfs_pgio_mirror *mirror,
910 INIT_LIST_HEAD(&mirror->pg_list);
911 mirror->pg_bytes_written = 0;
912 mirror->pg_count = 0;
913 mirror->pg_bsize = bsize;
914 mirror->pg_base = 0;
915 mirror->pg_recoalesce = 0;
987 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc);
992 struct list_head *head = &mirror->pg_list;
996 unsigned int pg_base = offset_in_page(mirror->pg_base);
999 pagecount = nfs_page_array_len(pg_base, mirror->pg_count);
1050 nfs_pgio_rpcsetup(hdr, pg_base, mirror->pg_count, desc->pg_ioflags,
1211 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc);
1215 if (list_empty(&mirror->pg_list)) {
1220 mirror->pg_base = req->wb_pgbase;
1221 mirror->pg_count = 0;
1222 mirror->pg_recoalesce = 0;
1224 prev = nfs_list_entry(mirror->pg_list.prev);
1237 nfs_list_move_request(req, &mirror->pg_list);
1238 mirror->pg_count += req->wb_bytes;
1247 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc);
1249 if (!list_empty(&mirror->pg_list)) {
1253 if (list_empty(&mirror->pg_list))
1254 mirror->pg_bytes_written += mirror->pg_count;
1283 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc);
1316 if (desc->pg_error < 0 || mirror->pg_recoalesce)
1339 struct nfs_pgio_mirror *mirror = nfs_pgio_current_mirror(desc);
1343 list_splice_init(&mirror->pg_list, &head);
1344 mirror->pg_recoalesce = 0;
1353 list_splice_tail(&head, &mirror->pg_list);
1354 mirror->pg_recoalesce = 1;
1359 } while (mirror->pg_recoalesce);
1383 struct nfs_pgio_mirror *mirror;
1389 mirror = nfs_pgio_get_mirror(desc, midx);
1390 desc->pg_completion_ops->error_cleanup(&mirror->pg_list,
1410 /* Create the mirror instances first, and fire them off */
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;
1454 mirror = nfs_pgio_current_mirror(desc);
1458 if (desc->pg_error < 0 || !mirror->pg_recoalesce)
1533 struct nfs_pgio_mirror *mirror;
1539 mirror = nfs_pgio_get_mirror(desc, midx);
1540 if (!list_empty(&mirror->pg_list)) {
1541 prev = nfs_list_entry(mirror->pg_list.prev);
1555 * nfs_pageio_stop_mirroring - stop using mirroring (set mirror count to 1)