Lines Matching refs:aio_req
735 struct ceph_aio_request *aio_req) in ceph_aio_complete() argument
740 if (!atomic_dec_and_test(&aio_req->pending_reqs)) in ceph_aio_complete()
743 ret = aio_req->error; in ceph_aio_complete()
745 ret = aio_req->total_len; in ceph_aio_complete()
749 if (ret >= 0 && aio_req->write) { in ceph_aio_complete()
752 loff_t endoff = aio_req->iocb->ki_pos + aio_req->total_len; in ceph_aio_complete()
761 &aio_req->prealloc_cf); in ceph_aio_complete()
768 ceph_put_cap_refs(ci, (aio_req->write ? CEPH_CAP_FILE_WR : in ceph_aio_complete()
771 aio_req->iocb->ki_complete(aio_req->iocb, ret, 0); in ceph_aio_complete()
773 ceph_free_cap_flush(aio_req->prealloc_cf); in ceph_aio_complete()
774 kfree(aio_req); in ceph_aio_complete()
781 struct ceph_aio_request *aio_req = req->r_priv; in ceph_aio_complete_req() local
792 BUG_ON(!aio_req->write); in ceph_aio_complete_req()
803 } else if (!aio_req->write) { in ceph_aio_complete_req()
815 if (aio_req->num_reqs == 1) { in ceph_aio_complete_req()
817 loff_t endoff = aio_req->iocb->ki_pos + rc; in ceph_aio_complete_req()
821 aio_req->total_len = rc + zlen; in ceph_aio_complete_req()
833 aio_req->should_dirty); in ceph_aio_complete_req()
837 cmpxchg(&aio_req->error, 0, rc); in ceph_aio_complete_req()
839 ceph_aio_complete(inode, aio_req); in ceph_aio_complete_req()
848 struct ceph_aio_request *aio_req = orig_req->r_priv; in ceph_aio_retry_work() local
889 req->r_mtime = aio_req->mtime; in ceph_aio_retry_work()
896 req->r_priv = aio_req; in ceph_aio_retry_work()
921 struct ceph_aio_request *aio_req = NULL; in ceph_direct_read_write() local
993 aio_req = kzalloc(sizeof(*aio_req), GFP_KERNEL); in ceph_direct_read_write()
994 if (aio_req) { in ceph_direct_read_write()
995 aio_req->iocb = iocb; in ceph_direct_read_write()
996 aio_req->write = write; in ceph_direct_read_write()
997 aio_req->should_dirty = should_dirty; in ceph_direct_read_write()
998 INIT_LIST_HEAD(&aio_req->osd_reqs); in ceph_direct_read_write()
1000 aio_req->mtime = mtime; in ceph_direct_read_write()
1001 swap(aio_req->prealloc_cf, *pcf); in ceph_direct_read_write()
1020 if (aio_req) { in ceph_direct_read_write()
1021 aio_req->total_len += len; in ceph_direct_read_write()
1022 aio_req->num_reqs++; in ceph_direct_read_write()
1023 atomic_inc(&aio_req->pending_reqs); in ceph_direct_read_write()
1027 req->r_priv = aio_req; in ceph_direct_read_write()
1028 list_add_tail(&req->r_unsafe_item, &aio_req->osd_reqs); in ceph_direct_read_write()
1074 if (aio_req) { in ceph_direct_read_write()
1077 if (aio_req->num_reqs == 0) { in ceph_direct_read_write()
1078 kfree(aio_req); in ceph_direct_read_write()
1085 list_splice(&aio_req->osd_reqs, &osd_reqs); in ceph_direct_read_write()