• Filipe Manana's avatar
    btrfs: do not abort transaction on failure to update log root · 09e44868
    Filipe Manana authored
    When syncing a log, if we fail to update a log root in the log root tree,
    we are aborting the transaction if the failure was not -ENOSPC. This is
    excessive because there is a chance that a transaction commit can succeed,
    and therefore avoid to turn the filesystem into RO mode. All we need to be
    careful about is to mark the log for a full commit, which we already do,
    to make sure no one commits a super block pointing to an outdated log root
    tree.
    
    So don't abort the transaction if we fail to update a log root in the log
    root tree, and log an error if the failure is not -ENOSPC, so that it does
    not go completely unnoticed.
    
    CC: stable@vger.kernel.org # 6.0+
    Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    09e44868
tree-log.c 210 KB