• Home
  • Raw
  • Download

Lines Matching refs:hdr

159 static void nfs_read_completion(struct nfs_pgio_header *hdr)  in nfs_read_completion()  argument
164 if (test_bit(NFS_IOHDR_REDO, &hdr->flags)) in nfs_read_completion()
166 while (!list_empty(&hdr->pages)) { in nfs_read_completion()
167 struct nfs_page *req = nfs_list_entry(hdr->pages.next); in nfs_read_completion()
172 if (test_bit(NFS_IOHDR_EOF, &hdr->flags)) { in nfs_read_completion()
176 if (bytes > hdr->good_bytes) { in nfs_read_completion()
181 } else if (hdr->good_bytes - bytes < req->wb_bytes) { in nfs_read_completion()
184 start += hdr->good_bytes - bytes; in nfs_read_completion()
191 if (test_bit(NFS_IOHDR_ERROR, &hdr->flags)) { in nfs_read_completion()
192 if (bytes <= hdr->good_bytes) in nfs_read_completion()
195 error = hdr->error; in nfs_read_completion()
204 hdr->release(hdr); in nfs_read_completion()
207 static void nfs_initiate_read(struct nfs_pgio_header *hdr, in nfs_initiate_read() argument
212 struct inode *inode = hdr->inode; in nfs_initiate_read()
216 rpc_ops->read_setup(hdr, msg); in nfs_initiate_read()
217 trace_nfs_initiate_read(inode, hdr->io_start, hdr->good_bytes); in nfs_initiate_read()
242 struct nfs_pgio_header *hdr, in nfs_readpage_done() argument
245 int status = NFS_PROTO(inode)->read_done(task, hdr); in nfs_readpage_done()
249 nfs_add_stats(inode, NFSIOS_SERVERREADBYTES, hdr->res.count); in nfs_readpage_done()
251 hdr->args.offset, hdr->res.eof); in nfs_readpage_done()
261 struct nfs_pgio_header *hdr) in nfs_readpage_retry() argument
263 struct nfs_pgio_args *argp = &hdr->args; in nfs_readpage_retry()
264 struct nfs_pgio_res *resp = &hdr->res; in nfs_readpage_retry()
267 nfs_inc_stats(hdr->inode, NFSIOS_SHORTREAD); in nfs_readpage_retry()
270 nfs_set_pgio_error(hdr, -EIO, argp->offset); in nfs_readpage_retry()
276 hdr->pnfs_error = -EAGAIN; in nfs_readpage_retry()
281 hdr->mds_offset += resp->count; in nfs_readpage_retry()
289 struct nfs_pgio_header *hdr) in nfs_readpage_result() argument
291 if (hdr->res.eof) { in nfs_readpage_result()
292 loff_t pos = hdr->args.offset + hdr->res.count; in nfs_readpage_result()
293 unsigned int new = pos - hdr->io_start; in nfs_readpage_result()
295 if (hdr->good_bytes > new) { in nfs_readpage_result()
296 hdr->good_bytes = new; in nfs_readpage_result()
297 set_bit(NFS_IOHDR_EOF, &hdr->flags); in nfs_readpage_result()
298 clear_bit(NFS_IOHDR_ERROR, &hdr->flags); in nfs_readpage_result()
300 } else if (hdr->res.count < hdr->args.count) in nfs_readpage_result()
301 nfs_readpage_retry(task, hdr); in nfs_readpage_result()