Lines Matching refs:hdr

127 nfs_direct_good_bytes(struct nfs_direct_req *dreq, struct nfs_pgio_header *hdr)  in nfs_direct_good_bytes()  argument
133 dreq->mirrors[hdr->pgio_mirror_idx].count += hdr->good_bytes; in nfs_direct_good_bytes()
134 dreq->count += hdr->good_bytes; in nfs_direct_good_bytes()
137 count = dreq->mirrors[hdr->pgio_mirror_idx].count; in nfs_direct_good_bytes()
138 if (count + dreq->io_start < hdr->io_start + hdr->good_bytes) { in nfs_direct_good_bytes()
139 count = hdr->io_start + hdr->good_bytes - dreq->io_start; in nfs_direct_good_bytes()
140 dreq->mirrors[hdr->pgio_mirror_idx].count = count; in nfs_direct_good_bytes()
189 struct nfs_pgio_header *hdr) in nfs_direct_set_hdr_verf() argument
193 verfp = nfs_direct_select_verf(dreq, hdr->ds_clp, hdr->ds_commit_idx); in nfs_direct_set_hdr_verf()
195 memcpy(verfp, &hdr->verf, sizeof(struct nfs_writeverf)); in nfs_direct_set_hdr_verf()
209 struct nfs_pgio_header *hdr) in nfs_direct_set_or_cmp_hdr_verf() argument
213 verfp = nfs_direct_select_verf(dreq, hdr->ds_clp, hdr->ds_commit_idx); in nfs_direct_set_or_cmp_hdr_verf()
215 nfs_direct_set_hdr_verf(dreq, hdr); in nfs_direct_set_or_cmp_hdr_verf()
218 return memcmp(verfp, &hdr->verf, sizeof(struct nfs_writeverf)); in nfs_direct_set_or_cmp_hdr_verf()
409 static void nfs_direct_read_completion(struct nfs_pgio_header *hdr) in nfs_direct_read_completion() argument
412 struct nfs_direct_req *dreq = hdr->dreq; in nfs_direct_read_completion()
414 if (test_bit(NFS_IOHDR_REDO, &hdr->flags)) in nfs_direct_read_completion()
418 if (test_bit(NFS_IOHDR_ERROR, &hdr->flags) && (hdr->good_bytes == 0)) in nfs_direct_read_completion()
419 dreq->error = hdr->error; in nfs_direct_read_completion()
421 nfs_direct_good_bytes(dreq, hdr); in nfs_direct_read_completion()
425 while (!list_empty(&hdr->pages)) { in nfs_direct_read_completion()
426 struct nfs_page *req = nfs_list_entry(hdr->pages.next); in nfs_direct_read_completion()
429 if (!PageCompound(page) && bytes < hdr->good_bytes) in nfs_direct_read_completion()
438 hdr->release(hdr); in nfs_direct_read_completion()
452 static void nfs_direct_pgio_init(struct nfs_pgio_header *hdr) in nfs_direct_pgio_init() argument
454 get_dreq(hdr->dreq); in nfs_direct_pgio_init()
773 static void nfs_direct_write_completion(struct nfs_pgio_header *hdr) in nfs_direct_write_completion() argument
775 struct nfs_direct_req *dreq = hdr->dreq; in nfs_direct_write_completion()
778 struct nfs_page *req = nfs_list_entry(hdr->pages.next); in nfs_direct_write_completion()
780 if (test_bit(NFS_IOHDR_REDO, &hdr->flags)) in nfs_direct_write_completion()
787 if (test_bit(NFS_IOHDR_ERROR, &hdr->flags)) { in nfs_direct_write_completion()
789 dreq->error = hdr->error; in nfs_direct_write_completion()
792 nfs_direct_good_bytes(dreq, hdr); in nfs_direct_write_completion()
793 if (nfs_write_need_commit(hdr)) { in nfs_direct_write_completion()
797 nfs_direct_set_hdr_verf(dreq, hdr); in nfs_direct_write_completion()
802 if (nfs_direct_set_or_cmp_hdr_verf(dreq, hdr)) in nfs_direct_write_completion()
810 while (!list_empty(&hdr->pages)) { in nfs_direct_write_completion()
812 req = nfs_list_entry(hdr->pages.next); in nfs_direct_write_completion()
816 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
817 hdr->ds_commit_idx); in nfs_direct_write_completion()
824 nfs_direct_write_complete(dreq, hdr->inode); in nfs_direct_write_completion()
825 hdr->release(hdr); in nfs_direct_write_completion()