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()
192 struct nfs_pgio_header *hdr) in nfs_direct_set_hdr_verf() argument
196 verfp = nfs_direct_select_verf(dreq, hdr->ds_clp, hdr->ds_commit_idx); in nfs_direct_set_hdr_verf()
198 memcpy(verfp, &hdr->verf, sizeof(struct nfs_writeverf)); in nfs_direct_set_hdr_verf()
212 struct nfs_pgio_header *hdr) in nfs_direct_set_or_cmp_hdr_verf() argument
216 verfp = nfs_direct_select_verf(dreq, hdr->ds_clp, hdr->ds_commit_idx); in nfs_direct_set_or_cmp_hdr_verf()
218 nfs_direct_set_hdr_verf(dreq, hdr); in nfs_direct_set_or_cmp_hdr_verf()
221 return memcmp(verfp, &hdr->verf, sizeof(struct nfs_writeverf)); in nfs_direct_set_or_cmp_hdr_verf()
412 static void nfs_direct_read_completion(struct nfs_pgio_header *hdr) in nfs_direct_read_completion() argument
415 struct nfs_direct_req *dreq = hdr->dreq; in nfs_direct_read_completion()
417 if (test_bit(NFS_IOHDR_REDO, &hdr->flags)) in nfs_direct_read_completion()
421 if (test_bit(NFS_IOHDR_ERROR, &hdr->flags) && (hdr->good_bytes == 0)) in nfs_direct_read_completion()
422 dreq->error = hdr->error; in nfs_direct_read_completion()
424 nfs_direct_good_bytes(dreq, hdr); in nfs_direct_read_completion()
428 while (!list_empty(&hdr->pages)) { in nfs_direct_read_completion()
429 struct nfs_page *req = nfs_list_entry(hdr->pages.next); in nfs_direct_read_completion()
432 if (!PageCompound(page) && bytes < hdr->good_bytes) in nfs_direct_read_completion()
441 hdr->release(hdr); in nfs_direct_read_completion()
455 static void nfs_direct_pgio_init(struct nfs_pgio_header *hdr) in nfs_direct_pgio_init() argument
457 get_dreq(hdr->dreq); in nfs_direct_pgio_init()
776 static void nfs_direct_write_completion(struct nfs_pgio_header *hdr) in nfs_direct_write_completion() argument
778 struct nfs_direct_req *dreq = hdr->dreq; in nfs_direct_write_completion()
781 struct nfs_page *req = nfs_list_entry(hdr->pages.next); in nfs_direct_write_completion()
783 if (test_bit(NFS_IOHDR_REDO, &hdr->flags)) in nfs_direct_write_completion()
790 if (test_bit(NFS_IOHDR_ERROR, &hdr->flags)) { in nfs_direct_write_completion()
792 dreq->error = hdr->error; in nfs_direct_write_completion()
795 nfs_direct_good_bytes(dreq, hdr); in nfs_direct_write_completion()
796 if (nfs_write_need_commit(hdr)) { in nfs_direct_write_completion()
800 nfs_direct_set_hdr_verf(dreq, hdr); in nfs_direct_write_completion()
805 if (nfs_direct_set_or_cmp_hdr_verf(dreq, hdr)) in nfs_direct_write_completion()
813 while (!list_empty(&hdr->pages)) { in nfs_direct_write_completion()
815 req = nfs_list_entry(hdr->pages.next); in nfs_direct_write_completion()
819 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
820 hdr->ds_commit_idx); in nfs_direct_write_completion()
827 nfs_direct_write_complete(dreq, hdr->inode); in nfs_direct_write_completion()
828 hdr->release(hdr); in nfs_direct_write_completion()