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

[2.2] Update the MOS directory on spa_upgrade_errlog() #15280

Merged
merged 1 commit into from
Sep 19, 2023

Commits on Sep 19, 2023

  1. Update the MOS directory on spa_upgrade_errlog()

    spa_upgrade_errlog() does not update the MOS directory when the
    head_errlog feature is enabled. In this case if spa_errlog_sync() is not
    called, the MOS dir references the old errlog_last and errlog_sync
    objects. Thus when doing a scrub a panic will occur:
    
    Call Trace:
     dump_stack+0x6d/0x8b
     panic+0x101/0x2e3
     spl_panic+0xcf/0x102 [spl]
     delete_errlog+0x124/0x130 [zfs]
     spa_errlog_sync+0x256/0x260 [zfs]
     spa_sync_iterate_to_convergence+0xe5/0x250 [zfs]
     spa_sync+0x2f7/0x670 [zfs]
     txg_sync_thread+0x22d/0x2d0 [zfs]
     thread_generic_wrapper+0x83/0xa0 [spl]
     kthread+0x104/0x140
     ret_from_fork+0x1f/0x40
    
    Fix this by updating the related MOS directory objects in
    spa_upgrade_errlog().
    
    Reviewed-by: Mark Maybee <[email protected]>
    Reviewed-by: Brian Behlendorf <[email protected]>
    Signed-off-by: George Amanakis <[email protected]>
    Closes openzfs#15279 
    Closes openzfs#15277
    gamanakis committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    6fa5836 View commit details
    Browse the repository at this point in the history