diff options
| -rw-r--r-- | fs/ceph/file.c | 20 | 
1 files changed, 10 insertions, 10 deletions
| diff --git a/fs/ceph/file.c b/fs/ceph/file.c index a27aabcb0e0b..31542eac7e59 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -1037,16 +1037,6 @@ static void ceph_aio_complete_req(struct ceph_osd_request *req)  	dout("ceph_aio_complete_req %p rc %d bytes %u\n",  	     inode, rc, osd_data->bvec_pos.iter.bi_size); -	/* r_start_latency == 0 means the request was not submitted */ -	if (req->r_start_latency) { -		if (aio_req->write) -			ceph_update_write_metrics(metric, req->r_start_latency, -						  req->r_end_latency, rc); -		else -			ceph_update_read_metrics(metric, req->r_start_latency, -						 req->r_end_latency, rc); -	} -  	if (rc == -EOLDSNAPC) {  		struct ceph_aio_work *aio_work;  		BUG_ON(!aio_req->write); @@ -1089,6 +1079,16 @@ static void ceph_aio_complete_req(struct ceph_osd_request *req)  		}  	} +	/* r_start_latency == 0 means the request was not submitted */ +	if (req->r_start_latency) { +		if (aio_req->write) +			ceph_update_write_metrics(metric, req->r_start_latency, +						  req->r_end_latency, rc); +		else +			ceph_update_read_metrics(metric, req->r_start_latency, +						 req->r_end_latency, rc); +	} +  	put_bvecs(osd_data->bvec_pos.bvecs, osd_data->num_bvecs,  		  aio_req->should_dirty);  	ceph_osdc_put_request(req); | 
