• Home
  • Raw
  • Download

Lines Matching refs:hdr

144 static void nfs_read_completion(struct nfs_pgio_header *hdr)  in nfs_read_completion()  argument
148 if (test_bit(NFS_IOHDR_REDO, &hdr->flags)) in nfs_read_completion()
150 while (!list_empty(&hdr->pages)) { in nfs_read_completion()
151 struct nfs_page *req = nfs_list_entry(hdr->pages.next); in nfs_read_completion()
156 if (test_bit(NFS_IOHDR_EOF, &hdr->flags)) { in nfs_read_completion()
160 if (bytes > hdr->good_bytes) { in nfs_read_completion()
165 } else if (hdr->good_bytes - bytes < req->wb_bytes) { in nfs_read_completion()
168 start += hdr->good_bytes - bytes; in nfs_read_completion()
174 if (test_bit(NFS_IOHDR_ERROR, &hdr->flags)) { in nfs_read_completion()
175 if (bytes <= hdr->good_bytes) in nfs_read_completion()
183 hdr->release(hdr); in nfs_read_completion()
186 static void nfs_initiate_read(struct nfs_pgio_header *hdr, in nfs_initiate_read() argument
191 struct inode *inode = hdr->inode; in nfs_initiate_read()
195 rpc_ops->read_setup(hdr, msg); in nfs_initiate_read()
220 struct nfs_pgio_header *hdr, in nfs_readpage_done() argument
223 int status = NFS_PROTO(inode)->read_done(task, hdr); in nfs_readpage_done()
227 nfs_add_stats(inode, NFSIOS_SERVERREADBYTES, hdr->res.count); in nfs_readpage_done()
237 struct nfs_pgio_header *hdr) in nfs_readpage_retry() argument
239 struct nfs_pgio_args *argp = &hdr->args; in nfs_readpage_retry()
240 struct nfs_pgio_res *resp = &hdr->res; in nfs_readpage_retry()
243 nfs_inc_stats(hdr->inode, NFSIOS_SHORTREAD); in nfs_readpage_retry()
246 nfs_set_pgio_error(hdr, -EIO, argp->offset); in nfs_readpage_retry()
252 hdr->pnfs_error = -EAGAIN; in nfs_readpage_retry()
257 hdr->mds_offset += resp->count; in nfs_readpage_retry()
265 struct nfs_pgio_header *hdr) in nfs_readpage_result() argument
267 if (hdr->res.eof) { in nfs_readpage_result()
270 bound = hdr->args.offset + hdr->res.count; in nfs_readpage_result()
271 spin_lock(&hdr->lock); in nfs_readpage_result()
272 if (bound < hdr->io_start + hdr->good_bytes) { in nfs_readpage_result()
273 set_bit(NFS_IOHDR_EOF, &hdr->flags); in nfs_readpage_result()
274 clear_bit(NFS_IOHDR_ERROR, &hdr->flags); in nfs_readpage_result()
275 hdr->good_bytes = bound - hdr->io_start; in nfs_readpage_result()
277 spin_unlock(&hdr->lock); in nfs_readpage_result()
278 } else if (hdr->res.count < hdr->args.count) in nfs_readpage_result()
279 nfs_readpage_retry(task, hdr); in nfs_readpage_result()