Lines Matching refs:aio_req
1191 struct ceph_aio_request *aio_req) in ceph_aio_complete() argument
1196 if (!atomic_dec_and_test(&aio_req->pending_reqs)) in ceph_aio_complete()
1199 if (aio_req->iocb->ki_flags & IOCB_DIRECT) in ceph_aio_complete()
1202 ret = aio_req->error; in ceph_aio_complete()
1204 ret = aio_req->total_len; in ceph_aio_complete()
1208 if (ret >= 0 && aio_req->write) { in ceph_aio_complete()
1211 loff_t endoff = aio_req->iocb->ki_pos + aio_req->total_len; in ceph_aio_complete()
1219 &aio_req->prealloc_cf); in ceph_aio_complete()
1226 ceph_put_cap_refs(ci, (aio_req->write ? CEPH_CAP_FILE_WR : in ceph_aio_complete()
1229 aio_req->iocb->ki_complete(aio_req->iocb, ret); in ceph_aio_complete()
1231 ceph_free_cap_flush(aio_req->prealloc_cf); in ceph_aio_complete()
1232 kfree(aio_req); in ceph_aio_complete()
1239 struct ceph_aio_request *aio_req = req->r_priv; in ceph_aio_complete_req() local
1253 BUG_ON(!aio_req->write); in ceph_aio_complete_req()
1264 } else if (!aio_req->write) { in ceph_aio_complete_req()
1278 if (aio_req->num_reqs == 1) { in ceph_aio_complete_req()
1280 loff_t endoff = aio_req->iocb->ki_pos + rc; in ceph_aio_complete_req()
1284 aio_req->total_len = rc + zlen; in ceph_aio_complete_req()
1296 if (aio_req->write) in ceph_aio_complete_req()
1305 aio_req->should_dirty); in ceph_aio_complete_req()
1309 cmpxchg(&aio_req->error, 0, rc); in ceph_aio_complete_req()
1311 ceph_aio_complete(inode, aio_req); in ceph_aio_complete_req()
1320 struct ceph_aio_request *aio_req = orig_req->r_priv; in ceph_aio_retry_work() local
1354 req->r_mtime = aio_req->mtime; in ceph_aio_retry_work()
1368 req->r_priv = aio_req; in ceph_aio_retry_work()
1394 struct ceph_aio_request *aio_req = NULL; in ceph_direct_read_write() local
1468 aio_req = kzalloc(sizeof(*aio_req), GFP_KERNEL); in ceph_direct_read_write()
1469 if (aio_req) { in ceph_direct_read_write()
1470 aio_req->iocb = iocb; in ceph_direct_read_write()
1471 aio_req->write = write; in ceph_direct_read_write()
1472 aio_req->should_dirty = should_dirty; in ceph_direct_read_write()
1473 INIT_LIST_HEAD(&aio_req->osd_reqs); in ceph_direct_read_write()
1475 aio_req->mtime = mtime; in ceph_direct_read_write()
1476 swap(aio_req->prealloc_cf, *pcf); in ceph_direct_read_write()
1503 if (aio_req) { in ceph_direct_read_write()
1504 aio_req->total_len += len; in ceph_direct_read_write()
1505 aio_req->num_reqs++; in ceph_direct_read_write()
1506 atomic_inc(&aio_req->pending_reqs); in ceph_direct_read_write()
1510 req->r_priv = aio_req; in ceph_direct_read_write()
1511 list_add_tail(&req->r_private_item, &aio_req->osd_reqs); in ceph_direct_read_write()
1564 if (aio_req) { in ceph_direct_read_write()
1567 if (aio_req->num_reqs == 0) { in ceph_direct_read_write()
1568 kfree(aio_req); in ceph_direct_read_write()
1575 list_splice(&aio_req->osd_reqs, &osd_reqs); in ceph_direct_read_write()