Lines Matching full:hdr
36 struct nfs_pgio_header *hdr; member
325 nfs_local_iocb_alloc(struct nfs_pgio_header *hdr, in nfs_local_iocb_alloc() argument
333 iocb->bvec = nfs_bvec_alloc_and_import_pagevec(hdr->page_array.pagevec, in nfs_local_iocb_alloc()
334 hdr->page_array.npages, flags); in nfs_local_iocb_alloc()
341 test_bit(NFS_IOHDR_ODIRECT, &hdr->flags)) { in nfs_local_iocb_alloc()
347 iocb->kiocb.ki_pos = hdr->args.offset; in nfs_local_iocb_alloc()
348 iocb->hdr = hdr; in nfs_local_iocb_alloc()
358 struct nfs_pgio_header *hdr = iocb->hdr; in nfs_local_iter_init() local
360 iov_iter_bvec(i, dir, iocb->bvec, hdr->page_array.npages, in nfs_local_iter_init()
361 hdr->args.count + hdr->args.pgbase); in nfs_local_iter_init()
362 if (hdr->args.pgbase != 0) in nfs_local_iter_init()
363 iov_iter_advance(i, hdr->args.pgbase); in nfs_local_iter_init()
367 nfs_local_hdr_release(struct nfs_pgio_header *hdr, in nfs_local_hdr_release() argument
370 call_ops->rpc_call_done(&hdr->task, hdr); in nfs_local_hdr_release()
371 call_ops->rpc_release(hdr); in nfs_local_hdr_release()
375 nfs_local_pgio_init(struct nfs_pgio_header *hdr, in nfs_local_pgio_init() argument
378 hdr->task.tk_ops = call_ops; in nfs_local_pgio_init()
379 if (!hdr->task.tk_start) in nfs_local_pgio_init()
380 hdr->task.tk_start = ktime_get(); in nfs_local_pgio_init()
384 nfs_local_pgio_done(struct nfs_pgio_header *hdr, long status) in nfs_local_pgio_done() argument
387 hdr->res.count = status; in nfs_local_pgio_done()
388 hdr->res.op_status = NFS4_OK; in nfs_local_pgio_done()
389 hdr->task.tk_status = 0; in nfs_local_pgio_done()
391 hdr->res.op_status = nfs_localio_errno_to_nfs4_stat(status); in nfs_local_pgio_done()
392 hdr->task.tk_status = status; in nfs_local_pgio_done()
399 struct nfs_pgio_header *hdr = iocb->hdr; in nfs_local_pgio_release() local
403 nfs_local_hdr_release(hdr, hdr->task.tk_ops); in nfs_local_pgio_release()
421 struct nfs_pgio_header *hdr = iocb->hdr; in nfs_local_read_done() local
424 nfs_local_pgio_done(hdr, status); in nfs_local_read_done()
430 hdr->res.replen = 0; in nfs_local_read_done()
432 if (hdr->res.count != hdr->args.count || in nfs_local_read_done()
433 hdr->args.offset + hdr->res.count >= i_size_read(file_inode(filp))) in nfs_local_read_done()
434 hdr->res.eof = true; in nfs_local_read_done()
437 status > 0 ? status : 0, hdr->res.eof); in nfs_local_read_done()
480 nfs_do_local_read(struct nfs_pgio_header *hdr, in nfs_do_local_read() argument
492 __func__, hdr->args.count, hdr->args.offset); in nfs_do_local_read()
494 iocb = nfs_local_iocb_alloc(hdr, file, GFP_KERNEL); in nfs_do_local_read()
499 nfs_local_pgio_init(hdr, call_ops); in nfs_do_local_read()
500 hdr->res.eof = false; in nfs_do_local_read()
580 struct nfs_pgio_header *hdr = iocb->hdr; in nfs_local_vfs_getattr() local
581 struct nfs_fattr *fattr = hdr->res.fattr; in nfs_local_vfs_getattr()
582 int version = NFS_PROTO(hdr->inode)->version; in nfs_local_vfs_getattr()
611 struct nfs_pgio_header *hdr = iocb->hdr; in nfs_local_write_done() local
612 struct inode *inode = hdr->inode; in nfs_local_write_done()
617 if (status > 0 && status < hdr->args.count) { in nfs_local_write_done()
618 hdr->mds_offset += status; in nfs_local_write_done()
619 hdr->args.offset += status; in nfs_local_write_done()
620 hdr->args.pgbase += status; in nfs_local_write_done()
621 hdr->args.count -= status; in nfs_local_write_done()
622 nfs_set_pgio_error(hdr, -ENOSPC, hdr->args.offset); in nfs_local_write_done()
628 nfs_local_pgio_done(hdr, status); in nfs_local_write_done()
678 nfs_do_local_write(struct nfs_pgio_header *hdr, in nfs_do_local_write() argument
690 __func__, hdr->args.count, hdr->args.offset, in nfs_do_local_write()
691 (hdr->args.stable == NFS_UNSTABLE) ? "unstable" : "stable"); in nfs_do_local_write()
693 iocb = nfs_local_iocb_alloc(hdr, file, GFP_NOIO); in nfs_do_local_write()
698 switch (hdr->args.stable) { in nfs_do_local_write()
708 nfs_local_pgio_init(hdr, call_ops); in nfs_do_local_write()
710 nfs_set_local_verifier(hdr->inode, hdr->res.verf, hdr->args.stable); in nfs_do_local_write()
724 struct nfs_pgio_header *hdr, in nfs_local_doio() argument
729 if (!hdr->args.count) in nfs_local_doio()
732 switch (hdr->rw_mode) { in nfs_local_doio()
734 status = nfs_do_local_read(hdr, localio, call_ops); in nfs_local_doio()
737 status = nfs_do_local_write(hdr, localio, call_ops); in nfs_local_doio()
741 hdr->rw_mode); in nfs_local_doio()
749 hdr->task.tk_status = status; in nfs_local_doio()
750 nfs_local_hdr_release(hdr, call_ops); in nfs_local_doio()