mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 14:12:51 +00:00
[SCSI] libosd: Free resources in reverse order of allocation
At osd_end_request first free the request that might point to pages, then free these pages. In reverse order of allocation. For now it's just anal neatness. When we'll use mempools It'll also pay in performance. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
ec6a0a41b5
commit
c4df46c49d
@ -452,10 +452,6 @@ void osd_end_request(struct osd_request *or)
|
||||
{
|
||||
struct request *rq = or->request;
|
||||
|
||||
_osd_free_seg(or, &or->set_attr);
|
||||
_osd_free_seg(or, &or->enc_get_attr);
|
||||
_osd_free_seg(or, &or->get_attr);
|
||||
|
||||
if (rq) {
|
||||
if (rq->next_rq) {
|
||||
_put_request(rq->next_rq);
|
||||
@ -464,6 +460,11 @@ void osd_end_request(struct osd_request *or)
|
||||
|
||||
_put_request(rq);
|
||||
}
|
||||
|
||||
_osd_free_seg(or, &or->get_attr);
|
||||
_osd_free_seg(or, &or->enc_get_attr);
|
||||
_osd_free_seg(or, &or->set_attr);
|
||||
|
||||
_osd_request_free(or);
|
||||
}
|
||||
EXPORT_SYMBOL(osd_end_request);
|
||||
|
Loading…
Reference in New Issue
Block a user