Project

General

Profile

Bug #6371

The `arc_fini` function is missing calls to `multilist_destroy` for the `arc_l2c_only` list

Added by Prakash Surya over 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
zfs - Zettabyte File System
Start date:
2015-10-22
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

I introduced a memory leak in commit:

    commit 244781f10dcd82684fd8163c016540667842f203
    Author: Prakash Surya <prakash.surya@delphix.com>
    Date:   Mon Jan 12 19:52:19 2015 -0800

        5497 lock contention on arcs_mtx

In that patch, I didn't add the necessary calls to `multilist_destroy` for the `arc_l2c_only`, the fix should be as straight forward as this:

    --- a/usr/src/uts/common/fs/zfs/arc.c                                          
    +++ b/usr/src/uts/common/fs/zfs/arc.c                                          
    @@ -5234,10 +5234,12 @@ arc_fini(void)                                         
            multilist_destroy(&arc_mru_ghost->arcs_list[ARC_BUFC_METADATA]);       
            multilist_destroy(&arc_mfu->arcs_list[ARC_BUFC_METADATA]);             
            multilist_destroy(&arc_mfu_ghost->arcs_list[ARC_BUFC_METADATA]);       
    +       multilist_destroy(&arc_l2c_only->arcs_list[ARC_BUFC_METADATA]);        
            multilist_destroy(&arc_mru->arcs_list[ARC_BUFC_DATA]);                 
            multilist_destroy(&arc_mru_ghost->arcs_list[ARC_BUFC_DATA]);           
            multilist_destroy(&arc_mfu->arcs_list[ARC_BUFC_DATA]);                 
            multilist_destroy(&arc_mfu_ghost->arcs_list[ARC_BUFC_DATA]);           
    +       multilist_destroy(&arc_l2c_only->arcs_list[ARC_BUFC_DATA]);            

            buf_fini();

History

#1

Updated by Matthew Ahrens about 4 years ago

  • Status changed from New to Closed
  • Category set to zfs - Zettabyte File System

duplicate of 6421

Also available in: Atom PDF