Lines Matching refs:hdr
117 const struct nfs_pgio_header *hdr, in nfs_direct_handle_truncated() argument
120 if (!(test_bit(NFS_IOHDR_ERROR, &hdr->flags) || in nfs_direct_handle_truncated()
121 test_bit(NFS_IOHDR_EOF, &hdr->flags))) in nfs_direct_handle_truncated()
128 if (test_bit(NFS_IOHDR_ERROR, &hdr->flags)) in nfs_direct_handle_truncated()
129 dreq->error = hdr->error; in nfs_direct_handle_truncated()
137 const struct nfs_pgio_header *hdr) in nfs_direct_count_bytes() argument
139 loff_t hdr_end = hdr->io_start + hdr->good_bytes; in nfs_direct_count_bytes()
145 nfs_direct_handle_truncated(dreq, hdr, dreq_len); in nfs_direct_count_bytes()
193 struct nfs_pgio_header *hdr) in nfs_direct_set_hdr_verf() argument
197 verfp = nfs_direct_select_verf(dreq, hdr->ds_clp, hdr->ds_commit_idx); in nfs_direct_set_hdr_verf()
199 memcpy(verfp, &hdr->verf, sizeof(struct nfs_writeverf)); in nfs_direct_set_hdr_verf()
219 struct nfs_pgio_header *hdr) in nfs_direct_set_or_cmp_hdr_verf() argument
223 verfp = nfs_direct_select_verf(dreq, hdr->ds_clp, hdr->ds_commit_idx); in nfs_direct_set_or_cmp_hdr_verf()
225 nfs_direct_set_hdr_verf(dreq, hdr); in nfs_direct_set_or_cmp_hdr_verf()
228 return nfs_direct_cmp_verf(verfp, &hdr->verf); in nfs_direct_set_or_cmp_hdr_verf()
386 static void nfs_direct_read_completion(struct nfs_pgio_header *hdr) in nfs_direct_read_completion() argument
389 struct nfs_direct_req *dreq = hdr->dreq; in nfs_direct_read_completion()
392 if (test_bit(NFS_IOHDR_REDO, &hdr->flags)) { in nfs_direct_read_completion()
397 nfs_direct_count_bytes(dreq, hdr); in nfs_direct_read_completion()
400 while (!list_empty(&hdr->pages)) { in nfs_direct_read_completion()
401 struct nfs_page *req = nfs_list_entry(hdr->pages.next); in nfs_direct_read_completion()
404 if (!PageCompound(page) && bytes < hdr->good_bytes && in nfs_direct_read_completion()
414 hdr->release(hdr); in nfs_direct_read_completion()
428 static void nfs_direct_pgio_init(struct nfs_pgio_header *hdr) in nfs_direct_pgio_init() argument
430 get_dreq(hdr->dreq); in nfs_direct_pgio_init()
755 static void nfs_direct_write_completion(struct nfs_pgio_header *hdr) in nfs_direct_write_completion() argument
757 struct nfs_direct_req *dreq = hdr->dreq; in nfs_direct_write_completion()
760 struct nfs_page *req = nfs_list_entry(hdr->pages.next); in nfs_direct_write_completion()
765 if (test_bit(NFS_IOHDR_REDO, &hdr->flags)) { in nfs_direct_write_completion()
770 nfs_direct_count_bytes(dreq, hdr); in nfs_direct_write_completion()
771 if (hdr->good_bytes != 0) { in nfs_direct_write_completion()
772 if (nfs_write_need_commit(hdr)) { in nfs_direct_write_completion()
776 nfs_direct_set_hdr_verf(dreq, hdr); in nfs_direct_write_completion()
781 if (nfs_direct_set_or_cmp_hdr_verf(dreq, hdr)) in nfs_direct_write_completion()
789 while (!list_empty(&hdr->pages)) { in nfs_direct_write_completion()
791 req = nfs_list_entry(hdr->pages.next); in nfs_direct_write_completion()
795 nfs_mark_request_commit(req, hdr->lseg, &cinfo, in nfs_direct_write_completion()
796 hdr->ds_commit_idx); in nfs_direct_write_completion()
804 hdr->release(hdr); in nfs_direct_write_completion()
818 static void nfs_direct_write_reschedule_io(struct nfs_pgio_header *hdr) in nfs_direct_write_reschedule_io() argument
820 struct nfs_direct_req *dreq = hdr->dreq; in nfs_direct_write_reschedule_io()
826 hdr->verf.committed = NFS_UNSTABLE; in nfs_direct_write_reschedule_io()
827 hdr->good_bytes = hdr->args.count; in nfs_direct_write_reschedule_io()