Lines Matching refs:aio_req
1194 struct ceph_aio_request *aio_req)
1199 if (!atomic_dec_and_test(&aio_req->pending_reqs))
1202 if (aio_req->iocb->ki_flags & IOCB_DIRECT)
1205 ret = aio_req->error;
1207 ret = aio_req->total_len;
1211 if (ret >= 0 && aio_req->write) {
1214 loff_t endoff = aio_req->iocb->ki_pos + aio_req->total_len;
1222 &aio_req->prealloc_cf);
1229 ceph_put_cap_refs(ci, (aio_req->write ? CEPH_CAP_FILE_WR :
1232 aio_req->iocb->ki_complete(aio_req->iocb, ret);
1234 ceph_free_cap_flush(aio_req->prealloc_cf);
1235 kfree(aio_req);
1242 struct ceph_aio_request *aio_req = req->r_priv;
1256 BUG_ON(!aio_req->write);
1267 } else if (!aio_req->write) {
1281 if (aio_req->num_reqs == 1) {
1283 loff_t endoff = aio_req->iocb->ki_pos + rc;
1287 aio_req->total_len = rc + zlen;
1299 if (aio_req->write)
1308 aio_req->should_dirty);
1312 cmpxchg(&aio_req->error, 0, rc);
1314 ceph_aio_complete(inode, aio_req);
1323 struct ceph_aio_request *aio_req = orig_req->r_priv;
1357 req->r_mtime = aio_req->mtime;
1371 req->r_priv = aio_req;
1397 struct ceph_aio_request *aio_req = NULL;
1471 aio_req = kzalloc(sizeof(*aio_req), GFP_KERNEL);
1472 if (aio_req) {
1473 aio_req->iocb = iocb;
1474 aio_req->write = write;
1475 aio_req->should_dirty = should_dirty;
1476 INIT_LIST_HEAD(&aio_req->osd_reqs);
1478 aio_req->mtime = mtime;
1479 swap(aio_req->prealloc_cf, *pcf);
1506 if (aio_req) {
1507 aio_req->total_len += len;
1508 aio_req->num_reqs++;
1509 atomic_inc(&aio_req->pending_reqs);
1513 req->r_priv = aio_req;
1514 list_add_tail(&req->r_private_item, &aio_req->osd_reqs);
1567 if (aio_req) {
1570 if (aio_req->num_reqs == 0) {
1571 kfree(aio_req);
1578 list_splice(&aio_req->osd_reqs, &osd_reqs);