• NeilBrown's avatar
    Update recovery_offset even when external metadata is used. · 3a3a5ddb
    NeilBrown authored
    The update of ->recovery_offset in sync_sbs is appropriate even then external
    metadata is in use.  However sync_sbs is only called when native
    metadata is used.
    
    So move that update in to the top of md_update_sb (which is the only
    caller of sync_sbs) before the test on ->external.
    
    This moves the update out of ->write_lock protection, but those fields
    only need ->reconfig_mutex protection which they still have.
    
    Also move the test on ->persistent up to where ->external is set as
    for metadata update purposes they are the same.
    
    Clear MD_CHANGE_DEVS and MD_CHANGE_CLEAN as they can only be confusing
    if ->external is set or ->persistent isn't.
    
    Finally move the update of ->utime down as it is only relevent (like
    the ->events update) for native metadata.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    Reported-by: default avatar"Kwolek, Adam" <adam.kwolek@intel.com>
    3a3a5ddb
md.c 190 KB