Lines Matching refs:aio_req
1015 struct ceph_aio_request *aio_req) in ceph_aio_complete() argument
1020 if (!atomic_dec_and_test(&aio_req->pending_reqs)) in ceph_aio_complete()
1023 if (aio_req->iocb->ki_flags & IOCB_DIRECT) in ceph_aio_complete()
1026 ret = aio_req->error; in ceph_aio_complete()
1028 ret = aio_req->total_len; in ceph_aio_complete()
1032 if (ret >= 0 && aio_req->write) { in ceph_aio_complete()
1035 loff_t endoff = aio_req->iocb->ki_pos + aio_req->total_len; in ceph_aio_complete()
1044 &aio_req->prealloc_cf); in ceph_aio_complete()
1051 ceph_put_cap_refs(ci, (aio_req->write ? CEPH_CAP_FILE_WR : in ceph_aio_complete()
1054 aio_req->iocb->ki_complete(aio_req->iocb, ret, 0); in ceph_aio_complete()
1056 ceph_free_cap_flush(aio_req->prealloc_cf); in ceph_aio_complete()
1057 kfree(aio_req); in ceph_aio_complete()
1064 struct ceph_aio_request *aio_req = req->r_priv; in ceph_aio_complete_req() local
1076 if (aio_req->write) in ceph_aio_complete_req()
1086 BUG_ON(!aio_req->write); in ceph_aio_complete_req()
1097 } else if (!aio_req->write) { in ceph_aio_complete_req()
1109 if (aio_req->num_reqs == 1) { in ceph_aio_complete_req()
1111 loff_t endoff = aio_req->iocb->ki_pos + rc; in ceph_aio_complete_req()
1115 aio_req->total_len = rc + zlen; in ceph_aio_complete_req()
1127 aio_req->should_dirty); in ceph_aio_complete_req()
1131 cmpxchg(&aio_req->error, 0, rc); in ceph_aio_complete_req()
1133 ceph_aio_complete(inode, aio_req); in ceph_aio_complete_req()
1142 struct ceph_aio_request *aio_req = orig_req->r_priv; in ceph_aio_retry_work() local
1176 req->r_mtime = aio_req->mtime; in ceph_aio_retry_work()
1190 req->r_priv = aio_req; in ceph_aio_retry_work()
1216 struct ceph_aio_request *aio_req = NULL; in ceph_direct_read_write() local
1284 aio_req = kzalloc(sizeof(*aio_req), GFP_KERNEL); in ceph_direct_read_write()
1285 if (aio_req) { in ceph_direct_read_write()
1286 aio_req->iocb = iocb; in ceph_direct_read_write()
1287 aio_req->write = write; in ceph_direct_read_write()
1288 aio_req->should_dirty = should_dirty; in ceph_direct_read_write()
1289 INIT_LIST_HEAD(&aio_req->osd_reqs); in ceph_direct_read_write()
1291 aio_req->mtime = mtime; in ceph_direct_read_write()
1292 swap(aio_req->prealloc_cf, *pcf); in ceph_direct_read_write()
1311 if (aio_req) { in ceph_direct_read_write()
1312 aio_req->total_len += len; in ceph_direct_read_write()
1313 aio_req->num_reqs++; in ceph_direct_read_write()
1314 atomic_inc(&aio_req->pending_reqs); in ceph_direct_read_write()
1318 req->r_priv = aio_req; in ceph_direct_read_write()
1319 list_add_tail(&req->r_private_item, &aio_req->osd_reqs); in ceph_direct_read_write()
1371 if (aio_req) { in ceph_direct_read_write()
1374 if (aio_req->num_reqs == 0) { in ceph_direct_read_write()
1375 kfree(aio_req); in ceph_direct_read_write()
1382 list_splice(&aio_req->osd_reqs, &osd_reqs); in ceph_direct_read_write()