Skip to content

Commit

Permalink
[SCSI] libosd: Free resources in reverse order of allocation
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Boaz Harrosh authored and James Bottomley committed Oct 26, 2010
1 parent ec6a0a4 commit c4df46c
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/scsi/osd/osd_initiator.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit c4df46c

Please sign in to comment.