Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

During pool export flush the ARC asynchronously #16215

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Commits on Oct 22, 2024

  1. During pool export flush the ARC asynchronously

    This also includes removing L2 vdevs asynchronously
    
    Sponsored-by: Klara, Inc.
    Sponsored-by: Wasabi Technology, Inc.
    
    Signed-off-by: Don Brady <don.brady@klarasystems.com>
    don-brady committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    5dc29a6 View commit details
    Browse the repository at this point in the history
  2. Guarantee that spa_load_guid is unique

    The zpool reguid feature introduced the spa_load_guid, which is a
    transient value used for runtime identification purposes in the ARC.
    This value is not the same as the spa's persistent pool guid.
    
    However, the value is seeded from spa_generate_load_guid() which
    does not check for uniqueness against the spa_load_guid from other
    pools.  Although extremely rare, you can end up with two different
    pools sharing the same spa_load_guid value!
    
    This change guarantees that the value is always unique and
    additionally not still in use by an async arc flush task.
    
    Sponsored-by: Klara, Inc.
    Sponsored-by: Wasabi Technology, Inc.
    
    Signed-off-by: Don Brady <don.brady@klarasystems.com>
    don-brady committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    9805730 View commit details
    Browse the repository at this point in the history