• Eric Sandeen's avatar
    xfs: free temporary cursor in xfs_dialloc · 3b826386
    Eric Sandeen authored
    Commit bd169565 seems
    to have a slight regression where this code path:
    
        if (!--searchdistance) {
            /*
             * Not in range - save last search
             * location and allocate a new inode
             */
            ...
            goto newino;
        }
    
    doesn't free the temporary cursor (tcur) that got dup'd in
    this function.
    
    This leaks an item in the xfs_btree_cur zone, and it's caught
    on module unload:
    
    ===========================================================
    BUG xfs_btree_cur: Objects remaining on kmem_cache_close()
    -----------------------------------------------------------
    
    It seems like maybe a single free at the end of the function might
    be cleaner, but for now put a del_cursor right in this code block
    similar to the handling in the rest of the function.
    Signed-off-by: default avatarEric Sandeen <sandeen@sandeen.net>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    3b826386
xfs_ialloc.c 42.6 KB