From: Boaz Harrosh Date: Tue, 19 Oct 2010 12:21:34 +0000 (+0200) Subject: [SCSI] libosd: Free resources in reverse order of allocation X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c4df46c49d8677158c7fb070a08e0d386c80205f;p=linux-beck.git [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 Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/osd/osd_initiator.c b/drivers/scsi/osd/osd_initiator.c index 771ab121acc7..acbdcb670ac5 100644 --- a/drivers/scsi/osd/osd_initiator.c +++ b/drivers/scsi/osd/osd_initiator.c @@ -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);