libceph, rbd, ceph: move ceph_osdc_alloc_messages() calls
The current requirement is that ceph_osdc_alloc_messages() should be called after oid and oloc are known. In preparation for preallocating message data items, move ceph_osdc_alloc_messages() further down, so that it is called when OSD op codes are known. Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
@@ -870,6 +870,11 @@ static void ceph_aio_retry_work(struct work_struct *work)
|
||||
ceph_oloc_copy(&req->r_base_oloc, &orig_req->r_base_oloc);
|
||||
ceph_oid_copy(&req->r_base_oid, &orig_req->r_base_oid);
|
||||
|
||||
req->r_ops[0] = orig_req->r_ops[0];
|
||||
|
||||
req->r_mtime = aio_req->mtime;
|
||||
req->r_data_offset = req->r_ops[0].extent.offset;
|
||||
|
||||
ret = ceph_osdc_alloc_messages(req, GFP_NOFS);
|
||||
if (ret) {
|
||||
ceph_osdc_put_request(req);
|
||||
@@ -877,11 +882,6 @@ static void ceph_aio_retry_work(struct work_struct *work)
|
||||
goto out;
|
||||
}
|
||||
|
||||
req->r_ops[0] = orig_req->r_ops[0];
|
||||
|
||||
req->r_mtime = aio_req->mtime;
|
||||
req->r_data_offset = req->r_ops[0].extent.offset;
|
||||
|
||||
ceph_osdc_put_request(orig_req);
|
||||
|
||||
req->r_callback = ceph_aio_complete_req;
|
||||
|
Reference in New Issue
Block a user