Project

General

Profile

Feature #4102

space_maps should store more information about themselves

Added by Christopher Siden about 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Normal
Category:
zfs - Zettabyte File System
Start date:
2013-09-04
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

Today space_maps are prefered based on the amount of free space left in each. Unfortunately they don't contain any information about the make-up of that free space, which means we could keep prefering and loading a highly fragmented space map that doesn't actually have enough contiguous space to satisfy our allocation, then unloading it and repeating. We should store additional information about the contiguous space in space_maps so that we can be guaranteed that we're loading the best possible fit.

This requires reallocating all space_map objects to increase their bonus buffer sizes enough to fit the new metadata.

#1

Updated by Christopher Siden about 7 years ago

  • % Done changed from 0 to 100
#2

Updated by Christopher Siden about 7 years ago

commit 0713e232b7712cd27d99e1e935ebb8d5de61c57d
Author: George Wilson <george.wilson@delphix.com>
Date:   Tue Oct 1 14:25:53 2013

    4101 metaslab_debug should allow for fine-grained control
    4102 space_maps should store more information about themselves
    4103 space map object blocksize should be increased
    4104 ::spa_space no longer works
    4105 removing a mirrored log device results in a leaked object
    4106 asynchronously load metaslab
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed by: Adam Leventhal <ahl@delphix.com>
    Reviewed by: Sebastien Roy <seb@delphix.com>
    Approved by: Garrett D'Amore <garrett@damore.org>
#3

Updated by Christopher Siden about 7 years ago

  • Status changed from New to Closed
commit 0713e232b7712cd27d99e1e935ebb8d5de61c57d
Author: George Wilson <george.wilson@delphix.com>
Date:   Tue Oct 1 14:25:53 2013

    4101 metaslab_debug should allow for fine-grained control
    4102 space_maps should store more information about themselves
    4103 space map object blocksize should be increased
    4104 ::spa_space no longer works
    4105 removing a mirrored log device results in a leaked object
    4106 asynchronously load metaslab
    Reviewed by: Matthew Ahrens <mahrens@delphix.com>
    Reviewed by: Adam Leventhal <ahl@delphix.com>
    Reviewed by: Sebastien Roy <seb@delphix.com>
    Approved by: Garrett D'Amore <garrett@damore.org>

Also available in: Atom PDF