Lines Matching refs:aio_req

748 			      struct ceph_aio_request *aio_req)  in ceph_aio_complete()  argument
753 if (!atomic_dec_and_test(&aio_req->pending_reqs)) in ceph_aio_complete()
756 if (aio_req->iocb->ki_flags & IOCB_DIRECT) in ceph_aio_complete()
759 ret = aio_req->error; in ceph_aio_complete()
761 ret = aio_req->total_len; in ceph_aio_complete()
765 if (ret >= 0 && aio_req->write) { in ceph_aio_complete()
768 loff_t endoff = aio_req->iocb->ki_pos + aio_req->total_len; in ceph_aio_complete()
777 &aio_req->prealloc_cf); in ceph_aio_complete()
784 ceph_put_cap_refs(ci, (aio_req->write ? CEPH_CAP_FILE_WR : in ceph_aio_complete()
787 aio_req->iocb->ki_complete(aio_req->iocb, ret, 0); in ceph_aio_complete()
789 ceph_free_cap_flush(aio_req->prealloc_cf); in ceph_aio_complete()
790 kfree(aio_req); in ceph_aio_complete()
797 struct ceph_aio_request *aio_req = req->r_priv; in ceph_aio_complete_req() local
808 BUG_ON(!aio_req->write); in ceph_aio_complete_req()
819 } else if (!aio_req->write) { in ceph_aio_complete_req()
831 if (aio_req->num_reqs == 1) { in ceph_aio_complete_req()
833 loff_t endoff = aio_req->iocb->ki_pos + rc; in ceph_aio_complete_req()
837 aio_req->total_len = rc + zlen; in ceph_aio_complete_req()
849 aio_req->should_dirty); in ceph_aio_complete_req()
853 cmpxchg(&aio_req->error, 0, rc); in ceph_aio_complete_req()
855 ceph_aio_complete(inode, aio_req); in ceph_aio_complete_req()
864 struct ceph_aio_request *aio_req = orig_req->r_priv; in ceph_aio_retry_work() local
898 req->r_mtime = aio_req->mtime; in ceph_aio_retry_work()
912 req->r_priv = aio_req; in ceph_aio_retry_work()
937 struct ceph_aio_request *aio_req = NULL; in ceph_direct_read_write() local
1005 aio_req = kzalloc(sizeof(*aio_req), GFP_KERNEL); in ceph_direct_read_write()
1006 if (aio_req) { in ceph_direct_read_write()
1007 aio_req->iocb = iocb; in ceph_direct_read_write()
1008 aio_req->write = write; in ceph_direct_read_write()
1009 aio_req->should_dirty = should_dirty; in ceph_direct_read_write()
1010 INIT_LIST_HEAD(&aio_req->osd_reqs); in ceph_direct_read_write()
1012 aio_req->mtime = mtime; in ceph_direct_read_write()
1013 swap(aio_req->prealloc_cf, *pcf); in ceph_direct_read_write()
1032 if (aio_req) { in ceph_direct_read_write()
1033 aio_req->total_len += len; in ceph_direct_read_write()
1034 aio_req->num_reqs++; in ceph_direct_read_write()
1035 atomic_inc(&aio_req->pending_reqs); in ceph_direct_read_write()
1039 req->r_priv = aio_req; in ceph_direct_read_write()
1040 list_add_tail(&req->r_private_item, &aio_req->osd_reqs); in ceph_direct_read_write()
1085 if (aio_req) { in ceph_direct_read_write()
1088 if (aio_req->num_reqs == 0) { in ceph_direct_read_write()
1089 kfree(aio_req); in ceph_direct_read_write()
1096 list_splice(&aio_req->osd_reqs, &osd_reqs); in ceph_direct_read_write()